鴻蒙傳說
2018-12-29 16:14:29
var k = true;for (var i = 0; i < 4; i++) {(function(i, k) {if (k) { console.log(k) console.log(i); k = false;}})(i, k)}結(jié)果輸出了4個 true和0,1,2,3求解釋啊。為什么不能更改k的值
1 回答

泛舟湖上清波郎朗
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個贊
var k = true;
for (var i = 0; i < 4; i++) {
(function(i, k) {
if (k) {
console.log(k)
console.log(i);
k = false;
}
})(i, k)
}
你上面的代碼,k改變的是當(dāng)前立即執(zhí)行函數(shù)內(nèi)的形參k的值,
改成下面就可修改函數(shù)體外k的值
var k = true;
for (var i = 0; i < 4; i++) {
(function(i) {
if (k) {
console.log(k)
console.log(i);
k = false;
}
})(i)
}
添加回答
舉報
0/150
提交
取消