【发布时间】:2015-04-06 17:05:53
【问题描述】:
在 JavaScript 中使用 += 运算符为属性分配一个数字会得到 NaN。
此代码按预期工作:
> var result = {};
undefined
> result['value'] = 10;
10
> result['value'] += 10;
20
但是在这里我们得到NaN:
> var test = {};
undefined
> test['value'] += 10;
NaN
为什么 JavaScript 会这样?如何在不初始化 result['value'] = 0 的情况下使其工作?
【问题讨论】:
-
初始化有什么问题?
-
那么当总结“未定义”和一个数字时,您希望结果是什么?好像没那么奇怪……
标签: javascript nan compound-assignment