Javascript Object Literal从另一个属性引用另一个属性 [英] Javascript Object Literal referring to another property in itself from another property
本文介绍了Javascript Object Literal从另一个属性引用另一个属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个对象字面值:
var obj = {
a : document.getElementById("ex1"),
b : obj.a.document.getElementsByTagName("div")
};
我遇到了b属性的问题,由于某些原因它不会让这种情况发生。这可能吗?
I am having trouble with the b property, for some reason it is not letting that happen. Is this possible?
推荐答案
当定义属性 b
时, obj
尚未定义。解决该问题的一种方法是使您的属性成为一个函数,以便在调用之前不对其进行求值。
When the property b
is being defined, obj
is not defined yet. One way to get around that problem is to make your property a function so that it's not evaluated until called.
var obj = {
a : document.getElementById("ex1"),
b : function() {
// This is not evaluated until obj.b() is called
return obj.a.document.getElementsByTagName("div");
}
};
obj.b();
如果你真的希望它成为一个房产,你必须分两步完成 Tomasz Nurkiewicz 显示
If you really want it to be a property, you have to do it in two steps as Tomasz Nurkiewicz shows
这篇关于Javascript Object Literal从另一个属性引用另一个属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文