Javascript:在子对象属性中访问父对象的属性

时间:2018-01-18 10:27:15

标签: javascript javascript-objects

我有以下javascript对象:

var endpoints = {
  User: { 
    endpoint: '/api/v1/users/%s',
    subResources: {
      profile: {
       // IN BELOW LINE I WANT TO ACCESS PARENT OBJECT'S Property
       endpoint: endpoints.User.endpoint + '/profile'
      }
    }
  }
}

此对象有一个名为“User”的对象,该对象具有名为endpoint的属性,我想在其名为subResources.endpoint的子对象中访问此属性。

2 个答案:

答案 0 :(得分:5)

这是不可能的,因为endpoints对象本身尚未完全形成。

因此,您可以分两步完成此操作,例如

var endpoints = {
  User: {
    endpoint: '/api/v1/users/%s',
    subResources: {}
  }
};

endpoints.User.subResources.profile = {
  endpoint: endpoints.User.endpoint + '/profile'
};

答案 1 :(得分:1)

使用方法/功能的另一种方法是:

var endpoints = {
    User: {
        endpoint: '/api/v1/users/%s',
        subResources: {
            profile: {
                endpoint: function(){
                   return endpoints.User.endpoint + '/profile';
                }
            }
        }
    }
};