如何引用同一物件中的屬性
在JavaScript 中,物件可以透過儲存對其屬性的引用來引用其自身的值。但是,使用點或括號表示法存取相同物件中的屬性有時會導致未定義的錯誤。
考慮以下程式碼:
var obj = { key1: "it ", key2: key1 + " works!" }; alert(obj.key2);
此程式碼將導致「key1 不是定義」錯誤。這是因為在引用 key2 時,key1 屬性尚未定義。
解決方案:
要避免此問題,請使用function.
var obj = { key1: "it ", key2: function() { return this.key1 + " works!"; } }; alert(obj.key2());
在此修改後的程式碼中,key2 被聲明為物件內的函數。當呼叫 key2 函數時,它使用 this 關鍵字來存取相同物件內的 key1 屬性。這種方法允許您引用同一物件中的屬性,即使它們是以不同的順序定義的。
以上是如何安全地引用同一個 JavaScript 物件中的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!