考虑以下有错误的代码:
x = {
y : "why",
z : function() {
return y + " zed";
}
}
函数z无法正常工作:“ReferenceError:y未定义”。
是否有一种方法可以在不完全指定为x.y的情况下从函数z中访问y?
当然,我可以将其重写为
x = function() {
var self = this;
this.y = "why";
this.z = function() {
return self.y + " zed";
};
return this;
}();
... but gosh.