Javascript Object Literal 从另一个属性引用另一个属性本身

bry*_*mon 6 javascript object

我有一个对象文字:

var obj = {
    a : document.getElementById("ex1"),
    b : obj.a.document.getElementsByTagName("div")
};
Run Code Online (Sandbox Code Playgroud)

我遇到了 b 属性的问题,出于某种原因,它不允许这种情况发生。这可能吗?

小智 6

现代的方法是使用getter方法:

\n\n
let obj = {\n  firstName: "A\xe2\x80\x99dab",\n  lastName: "Farooqi"\n  get fullName() {\n    return this.firstName+" "+this.lastName;\n  },\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以现在你可以直接写obj.fullName- 不需要在末尾添加括号。

\n


Tom*_*icz 2

您需要两个步骤:

var obj = {
    a : document.getElementById("ex1")
};

obj.b = obj.a.document.getElementsByTagName("div")
Run Code Online (Sandbox Code Playgroud)

或者:

var temp = document.getElementById("ex1")
var obj = {
    a : temp,
    b : temp.document.getElementsByTagName("div")
};
Run Code Online (Sandbox Code Playgroud)