這個JavaScript應該運行功能func
len
次,然後返回是否成功的所有時間或沒有。相反,只要func
返回false,for
循環即被取消。這怎麼解釋? (jsfiddle)怪異的行爲在javascript函數
function do_something(func, len) {
var res = true;
for (var i = 0; i < len; i++) {
res = res && func(i);
}
return res == true;
}
do_something(function(x) {
console.log(x);
return false;
}, 5);
do_something(function(x) {
console.log(x);
return true;
}, 5);
我希望0, 1, 2, 3, 4, 0, 1, 2, 3, 4
,但輸出看起來是這樣的:
0
0
1
2
3
4
迂腐:你可以只返回'res',而不是返回'RES == TRUE' – ray
可能在某些情況下,返回不確定,不解決問題。 – Aloso