gpt4 book ai didi

javascript - Javascript 中对象的默认值

转载 作者:行者123 更新时间:2023-11-30 07:44:11 26 4
gpt4 key购买 nike

Javascript 代码

var a = {};
a.test += 1; //NaN
++a.test; //NaN

相反

var a = {};
a.test = 0;
++a.test; //1
a.test += 1; //2

我想知道是否有任何方法可以使第一个代码示例与第二个代码示例一样工作,即没有明确分配给 0。就像将对象的任何属性的默认值分配给 0 而不是 undefined。我正在尝试在 node.js 中执行此操作。所以,跨浏览器的东西和旧的 ECMA 规范没有问题。

var i;
for(i = 0; i<10; i++) {
if(a.test) {
++a.test;
} else {
a.test = 0;
++a.test;
}
//a.test = a.test || 0; (1)
//++a.test;
}

如果可以的话,可以去掉上面代码中的if/else或者赋值语句(1)。

最佳答案

Javascript 默认将所有新变量定义为未定义(如果未明确定义),这与您尝试定义的 Number 对象不同。所以你应该像这样使用:

for (i=0; i<10; i++) {
a.test = a.test || 0;
++a.test
}

关于javascript - Javascript 中对象的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com