我也许已经初学者的Javascript问题:这是JavascriptClosure用例吗?
var countries = [
"Bangladesh", "Germany", "Pakistan"];
function testexistence(arr, input) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] != input) {
alert("not exist");
arr.push(input);
break;
} else {
alert("already exist ");
}
}
}
testexistence(countries, "UK");
testexistence(countries, "Pakistan");
testexistence(countries, "UK");
我想到的是:当我再次调用该函数的“英国”它为我“已经存在”;但这并未发生。我不想玩“原型”或定义我自己的一个。我只需要一个线路解决方案。
我在我的代码中有一个用例,我必须在数组中插入一个新值并在下一个循环中检查该值;但我最后插入一个现有的值...
为什么我结束了插入现有值,为什么这个检查(arr[i] != input)
失败?
还请解释一下,为什么根据需要将上面的代码是不工作
您应该每次都推送输入,而不是“英国”。它不工作? – bfavaretto 2013-04-22 16:18:07
'testexistence'不是函数的好名字。 'pushIfUnique'或'pushUnique'如何? – 2013-04-23 00:18:17