gpt4 book ai didi

javascript - 当我使用 "var"定义变量时,变量不会变为零

转载 作者:行者123 更新时间:2023-12-02 06:17:54 25 4
gpt4 key购买 nike

我有以下代码(ajax):

for(i in data.collection1) {
var var1, var2, var3, var4 = 0;
for (j in data.collection1[i].collection2) { // might be empty
var current = data.collection1[i].collection2[j];
if (current != 'undefined') {
if (current.status == 'status1') var1 = current.count;
if (current.status == 'status2') var2 = current.count;
if (current.status == 'status3') var3 = current.count;
if (current.status == 'status4') var4 = current.count;
}
}

var str = $(["<tr>", "<td>", data.collection1[i].obj1.name, "</td>",
"<td>", var1, "</td>",
"<td>", var2, "</td>",
"<td>", var3, "</td>",
"<td>", var4, "</td>", "</tr>"].join(""));

$("#tbl1 tr:last").after(str);
}

奇怪的是,当 data.collection1[i].collection2 为空时,在某些迭代中,变量 var1、var2、var3、var4 不等于 0,而是保留它们以前的值(来自上一次迭代)。

为什么会这样,我该如何摆脱它?

附言顺便问一下,他们有什么方法可以简化这段代码吗?

最佳答案

var var1, var2, var3, var4 = 0;

声明手段

Declare var1, var2, var3, var4 variables in a local scope, additionally set var4 value to 0

如果你想为其他变量设置值,请为每个变量设置 = 0:

var var1 = 0,
var2 = 0,
var3 = 0,
var4 = 0;

关于javascript - 当我使用 "var"定义变量时,变量不会变为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422002/

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