我見過很多例子看起來像這樣:JavaScript中的.call是否將自身綁定到調用對象?
function MyThing() {
SomeObj.call(this);
}
我明白.CALL是調用someObj中與MyThing的this
的情況下。我不明白的是這是否也將SomeObj的原型綁定到MyThing?
我已經看到實現的方式是通過使用節點中的流。
util.inherits(MyStream, Transform);
function MyStream() {
Transform.call(this);
}
MyStream.prototype._transform = function (chunk, encoding, done) {}
var test = new MyStream();
爲什麼我們必須撥打Transform.call(this)
?這基本上取代了必須先創建new Transform()
,然後使用util.inherits?
http://blog.slaks.net/2013-09-03/traditional-inheritance-in-javascript/ – SLaks
另外,從Transform Node doc:'在擴展Transform類的類中,確保調用構造函數,以便緩衝設置可以正確初始化。「 – doremi