obj = {
a: 123,
b: this.a
c: function () {
return this.a;
}
};
obj.b; // undefined
obj.c(); // 123
请问这是为什么?
谢谢大家为我解答这个问题,现在我已经明白是怎么回事了。
总结一下:
1、在全局运行上下文中(在任何函数体外部),this 指代全局对象,无论是否在严格模式下。
2、在函数内部,this的值取决于函数是如何调用的。
感谢 @不爱吃西红柿的鱼
分享一下他的文章,让我受益匪浅:js中this的一些总结
谢邀。你这是对象字面量的形式在申明一个对象变量。
相当于
此时的this指向的是不是obj这个对象,而是当前作用域空间的那个this指向。