在 Javascript 中,物件可以嵌套,創建層次結構。但是,從嵌套子物件存取父物件可能具有挑戰性。
考慮以下嵌套物件:
obj: { subObj: { foo: 'hello world' } };
要引用s 中的子對象,我們使用:
var s = obj.subObj;
現在,我們想使用s.
獲取父對象obj ,不幸的是,Javascript 中沒有直接的機制從子物件中檢索父物件。這是因為子對像不知道其父對象的存在。
替代解決方案
一個解決方法是利用函數在嵌套物件內建立父子關係。擴充上面的程式碼:
var main = {
name : "main object",
child : {
name : "child object",
parent : null
},
init : function() {
this.child.parent = this;
delete this.init;
return this;
}
}.init();
在init函數中,我們將父物件指派給子物件內的父屬性。透過呼叫它,我們從嵌套子物件中引用當前物件(即主物件)。最後,為了程式碼清晰,我們刪除了 init 函數。
使用這種技術,我們現在可以從子物件存取父物件:
main.child.parent.name // returns "main object"
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3