我有一个简单的原型继承构造函数,我正在使用箭头函数。
app.Node = function (name, type) {
this.name = name;
this.type = type;
this.children = [];
}
app.Node.prototype = {
addChild: (child)=>{
child._parent = this;
this.children.push(child);
},
removeChild: (child)=>{
this.children.forEach((item, i) => {
if (item === child) {
this.removeChildAtIndex(i);
}
});
},
}
但是,由于this
和箭头函数的性质,this
的值在上述原型方法中为undefined
。那么我能以这种方式使用箭头功能吗?除了使用普通的function
函数之外,我无法弄清楚我需要改变什么。
答案 0 :(得分:2)
我能以这种方式使用箭头功能吗?
没有。箭头函数从声明它们时捕获this
的值。
除了使用普通的功能函数之外,我无法弄清楚我需要改变什么。
那样做。使用正确的工具完成工作。