这是我的代码,它从 jsTree 复选框树列表中获取选项:
var level1, r = [];
for (i = 0, j = data.selected.length; i < j; i++) {
r[0] = data.instance.get_node(data.selected[i]).text.trim();
r[1] = data.instance.get_node(data.selected[i]).parents.length;
if(r[1] == 1) {
level1 += r[0] + ", ";
alert(level1);
}
}
上面的警报
包含未定义
以及复选框中的正确选择。知道为什么我在输出中未定义吗?
最佳答案
问题是,当您第一次尝试在此处使用 level1
时,它是未定义的:
level1 += r[0]+", ";
这与:
相同level1 = level1 + r[0]+", ";
问题是第一次迭代时 level1
未定义,因此文本包含 undefined
并将其连接为字符串 "undefined"
如下它是被胁迫的。将其初始化为空字符串:
var level1 = "";
这样当你访问它时它就不会是未定义的。
关于javascript - 为什么此警报包含未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852893/