2013-04-08 87 views
0

我正在學習使用javascript的prototype功能(不是庫)。我想我可以通過使用MyObject.prototype.myFunction = function() { ... }替換一個對象的方法。顯然這不起作用。Javascript原型不會更新方法

下面的代碼定義了一個對象,並使用prototype來替換它的功能。在瀏覽器中運行它,控制檯仍然顯示原始輸出。

​​
+4

實例方法陰影任何原型方法繼承。 – 2013-04-08 17:22:31

回答

2

實例方法陰影方法通過原型鏈

var HelloWorld = new TestObject(); 
HelloWorld.testFunction(); // finds method on instance 
// "Original function output" 
delete HelloWorld.testFunction; // delete method from instance 
HelloWorld.testFunction(); // not found on instance, look in prototype, found 
// "YOU GOT CHANGED" 
1

不是真的,在您的構造函數中,您重寫原型。原始代碼是原型的代碼(在創建對象之後,它就會在運行之前立即綁定)。

+0

當你說「有約束力」時,你指的是什麼? – 2013-04-08 17:33:40