適配器模式:將一個(gè)類(lèi)(對(duì)象)的接口(方法或者屬性)轉(zhuǎn)化成另外一個(gè)接口,以滿足用戶需求,使類(lèi)(對(duì)象)之間接口的不兼容問(wèn)題通過(guò)適配器得以解決。
生活中的適配器:國(guó)內(nèi)的充電插頭和港版的充電插頭是不一樣的,為了實(shí)現(xiàn)他們可以互通,一般在插座和插頭間連接一個(gè)轉(zhuǎn)換器(適配器)。
// A 為一個(gè)第三方庫(kù)
var A = A || {}
A.g = function(id) {
return document.getElementById(id)
}
A.on = function(id, type, fn) {
var dom = typeof id === 'string' ? this.g(id) : id
if (dom.addEventListener) {
dom.addEventListener(type, fn, false)
} else if (dom.attachEvent) {
dom.attachEvent('on' + type, fn)
} else {
dom['on' + type] = fn
}
}
// 使用jquery替代A庫(kù)
A.g = function(id) {
return $(id).get(0)
}
A.on = function(id, type, fn) {
var dom = typeof id === 'string' ? $('#' + id): $(id)
dom.on(type, fn)
}