【发布时间】:2013-12-11 17:25:35
【问题描述】:
我愿意:
outerobject={
a: 1,
b: 2,
c: this.a + this.b,
};
console.log(outerobject.a);
console.log(outerobject.b);
console.log(outerobject.c);
我希望:
1
2
3
我明白了:
1
2
NaN
为什么我会得到一个 NaN?
【问题讨论】:
-
因为
this不是outerobject。在代码顶部添加"use strict";,您将收到一条很好的错误消息,而不是无声的失败:TypeError: Cannot read property 'a' of undefined。 -
见this。
-
@Blender:如果代码在全局运行,或者在设置了
this的函数中运行,则在严格模式下不会出错。
标签: javascript