經過多年在JavaScript中使用原型繼承創建應用程序之後,我開始探索使用寄生繼承。儘管在創建對象層次結構時可能會在內存中創建若干個方法副本,但它的主要缺陷 - 至少對我來說是這樣 - 我發現它的真實性引起了我的共鳴,其簡單性和「新」變得沒有必要。但是,我堅持「這個」發生了什麼。大部分我在網上看到的例子只是淺嘗輒止展示如何實現寄生繼承,像這樣:「this」在JavaScript寄生繼承中引用了什麼?
function foo() {
return {
method1 : function() {...}
}
}
function bar() {
var that = foo();
that.method2 = function() {
//is "this" pointing to bar()?
}
return that;
}
當我問在欄()對象的意見,並「這」指杆( )還是這個降級到method2的範圍?
謝謝!
不錯。謝謝!現在我可以前進。這只是一個概念上的飛躍,已經完成了原型繼承了很長時間。寄生遺傳是很熟悉的,但是我承認有點不舒服 - 但這是一件好事! :) –