什么叫模式?
可靠萨驶、已驗(yàn)證核畴、滿足個(gè)人需求、實(shí)現(xiàn)大型的功能解決方案
例:元素的選擇
1.工廠模式
(做重復(fù)的事情)比如傳入型號(hào)灭贷,做同樣的重復(fù)事情,或加以判斷加以處理
2.單例模式
只有一個(gè)實(shí)例
var createWindow = function(){
var div = document.createElement("div");
div.innerHTML = "我是彈窗內(nèi)容";
div.style.display = 'none';
document.body.appendChild(div);
return div;
};
document.getElementById("btn").onclick = function(){
// 點(diǎn)擊后先創(chuàng)建一個(gè)div元素
var win = createWindow();
win.style.display = "block";
};
3.觀察者模式(訂閱模式)
var fabuObj = {}; //新建一個(gè)對(duì)象==定義發(fā)布者
fabuObj.list = []; //訂閱集合
//增加訂閱者信息
fabuObj.listen = function(fn){
fabuObj.list.push(fn);
};
//發(fā)布 消息(觸發(fā))
fabuObj.trigger = function(){
for(var i=0,fn;fn=this.list[i++];){
fn.apply(this,arguments); //代表傳入的所有參數(shù)
}
};
fabuObj.listen(function(name,color,size){
console.log('姓名:'+name);
console.log('顏色:'+color);
console.log('尺碼:'+size);
});
fabuObj.trigger('sonia','紅色','s');
fabuObj.trigger('sonia1','紅色2','s3');
適配器模式
把多個(gè)紧帕,原本不匹配的兩個(gè)類鹅搪,放在一起工作