據我所知,Prototypal inheritance
和closure
是創建對象的兩種不兼容的方式。在javascript中,當Prototypal繼承比閉包更適合創建對象時?
- 有了原型,所有實例共享相同的功能
- 閉包,每個實例都有其自身的功能(其具體結束)
通過使用clojure
創建對象,我指的是以下模式:
function createPerson(p){
return {
getName: function() { return p;}
};
}
當編寫JavaScript應用程序,prototype
比更好的選擇創建對象?我不在尋找關於prototypal inheritance
的優點的一般性解釋。相反,我希望看到一個真實網頁開發情況,其中prototype inheritance
真的很有用。
我能想到的唯一有用的例子是增加基本類型。
誰告訴你原型繼承和關閉是兩個不兼容的範例? – KooiInc 2012-03-12 07:12:40
原型繼承和關閉是完全不同的主題。沒有比較它們的問題。它們都是JavaScript的強大功能。 – Sarfraz 2012-03-12 07:14:51
@Sarfraz我的問題是:什麼樣的問題,在JavaScript更好地解決原型? – viebel 2012-03-12 07:19:16