有沒有做從以下....引用自己的對象屬性
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。儘管如此,我仍然會將你所建議的改變變得更安全。謝謝。 –