有没有做从以下....引用自己的对象属性
var myObject = {
name: "Johnny",
init: function() {
$("body").mousemove(this.setStatus);
},
setStatus: function(ev) {
$("body").append("<div>Mouse Move by: " + myObject.name + "</div>");
}
};
myObject.init();
这是这样引用当创建一个类的对象的财产的最好方式(即调用myObject.name问题setStatus函数)?
为什么不应该对象引用自身?你有建议这样做的技术原因吗? –
@JohnnyRambo这是糟糕的OO设计。你目前可以做'var tmp = myObject; myObject = null',你的代码就会中断。我所建议的更改将您的实现的_internals_从_external_引用中分离出来,通过该引用您的对象已知,并允许代码继续工作。 – Alnitak
我想到了,但我以这种方式创建对象的原因是因为不会有该类的任何其他实例,也不会将其设置为null。尽管如此,我仍然会将你所建议的改变变得更安全。谢谢。 –