规定水平的我有以下结构的JSON对象:如何引用一个JSON对象
obj = {
foo: 'bar',
data: {
hello: this.foo
}
}
然而,this
在2级始终是Window
对象。我如何正确引用foo
?
注意
我知道我可以把对象变成了“类”,并与self
什么参考进行财产。这不适合我。该对象必须是独立的JSON对象。
规定水平的我有以下结构的JSON对象:如何引用一个JSON对象
obj = {
foo: 'bar',
data: {
hello: this.foo
}
}
然而,this
在2级始终是Window
对象。我如何正确引用foo
?
注意
我知道我可以把对象变成了“类”,并与self
什么参考进行财产。这不适合我。该对象必须是独立的JSON对象。
而不是this.foo
,请使用obj.foo。 Javascript几乎总是认为this
是全球/窗口。如果这不起作用,我会建议创建另一个变量。
祝你好运!
我得到一个错误,告诉我'obj'是未定义的。我想这是有道理的,因为OBJ尚未定义? – dopatraman
obj仍然不存在,所以这将导致错误 – Reflective
不是“窗口/文档”,而是* global/window *对象。 ;-) – RobG
* this *在执行上下文中的值由调用设置。你如何试图访问该物业?我猜“JSON对象”实际上是指[* Object initialiser *](http://ecma-international.org/ecma-262/5.1/#sec-11.1.5)或文字。 – RobG
如果'obj = {foo:'bar',data:{}}; obj.data.hello = obj.foo;'不是一个选项,我不知道有什么方法可以在对象声明中做到这一点。 – some
只是要提到,你提供的结构是一个标准的JavaScript对象...第二个这取决于上下文...因为它在主要上下文中始终是窗口 – Reflective