2013-07-21 80 views
1

我一直在尋找一種方法來獲取嵌套對象中的父對象屬性,但沒有運氣。如何在javascript/jQuery中獲取父對象屬性

這裏是我使用嵌套對象:

var obj = { 
     name: 'My Name', 
     obj1: { 
       age: 18, 
       name: this.name 
      } 
    }; 

但它給和undefined錯誤。

JavaScript或jQuery有什麼方法可以實現它嗎?

回答

0

和一些jQuery的愛,我實現了它。

原來這裏是一個我所用:

var obj = { 
     name: 'My Name', 
     obj1: { 
       age: 18, 
       name: this.name 
      } 
    }; 

這裏是我的絕招:

我創建了另一個對象obj1Copy

var obj1Copy = { 
    name: obj.name 
}; 

看,我現在用的父對象名稱而不是this在此副本中。 然後使用jQuery的$.extend合併它們:

var newObj = $.extend(obj.obj1, obj1Copy); 

然後使用newObj代替obj1,像newObj.name將返回My Name

如果有更好的和簡單的方法,那麼請分享。

4

你可以做這樣的事情:

var obj = new obj(); 

function obj(){ 
    var self = this; 
    self.name = 'My Name'; 
    self.obj1 = { 
     age: 18, 
     name: self.name 
    } 
};