我正在尝试做这样的事情:
var obj = { a: 5, b: this.a + 1 }
(而不是5,我不想执行两次返回一个数字的函数)
我可以重写它,以便obj.b稍后从分配obj.a,但是我可以在声明期间立即执行吗?
obj.b
obj.a
thisJavaScript中的编号无法像您想象的那样工作。this在这种情况下,指的是全局对象。
this
只有3种情况下this会设置该值:
功能案例
foo();
这里this将引用 全局 对象。
方法案例
test.foo();
在此示例this中将参考test。
test
构造案例
new foo();
new关键字前面的函数调用充当构造函数。函数内部this将引用一个新创建的Object。
new
Object
在其他任何地方,都this指向全局对象。