最近打算系統(tǒng)的學習javascript設計模式,以便自己在開發(fā)中遇到問題可以按照設計模式提供的思路進行封裝,這樣可以提高開發(fā)效率并且可以預先規(guī)避很多未知的問題。
先從最基本的單例模式開始。
什么是單例模式:
單例模式,從名字拆分來看,單指的是一個,例是實例,意思是說多次通過某個類創(chuàng)造出來實例始終只返回同一個實例,它限制一個類只能有一個實例。單例模式主要是為了解決對象的創(chuàng)建問題。單例模式的特點:
一個類只有一個實例
對外提供唯一的訪問接口
在一些以類為核心的語言中,例如java,每創(chuàng)建一個對象就必須先定義一個類,對象是從類創(chuàng)建而來。js是一門無類(class-free)的語言,在js中創(chuàng)建對象的方法非常簡單,不需要先定義類即可創(chuàng)建對象。
在js中,單例模式是一種常見的模式,例如瀏覽器中提供的window對象,處理數(shù)字的Math對象。