鴨式辨型:"像鴨子一樣走路並且嘎嘎叫的就叫鴨子。"通過制定規則來判定物件是否實現這個介面。
建立介面類,主要用來儲存資訊到例項類中:
var inte***ce =function (name, methods)
介面就是自定義規則。我定義了會游泳,會嘎嘎叫,有兩條腿的就是鴨子:
var duck = new inte***ce('duck', ['swim', 'cry', 'foots']);
建立檢測方法。它用來檢測物件中有沒有實現duck介面中所有的方法,如果有就認為這個物件實現了duck介面;否則就認為沒有實現。
inte***ce.ensureimplements = function(obj, inte***ce) } if
(nomethods.length)
else
};
建立被檢測的物件_newduck,這個物件繼承了三個方法。
var duck = function ()
duck.prototype =,'cry': function
(){},
'foots': function
(){},
}var _newduck = new duck();
最後檢測,如果_newduck中有duck介面定義的所有方法,那麼我們就可以認為_newduck物件實現了duck介面。我們前面定義了鴨子是會游泳,會嘎嘎叫,還有兩條腿,所有符合這規則定義的就可以稱為鴨子。正如_newduck擁有了duck介面所有定義的方法。
inte***ce.ensureimplements(_newduck, duck);