bar(...)内部的赋值表达式i = 3是如何覆盖了声明在foo(...)内部for循环中的i。
function foo() {
function bar(a) {
i = 3;
console.log( a + i );
}
for (var i=0; i<10; i++) {
bar(i*2);
}
}
foo();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这段代码明显有毒啊。
哦哦,那就是我理解错了,如果需要用var声明,也必须在bar()...里面var 1 = 3;程序才能正常运行???