我也許已經初學者的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