for(var i = 0; i < 10; i++){
//todo:
}
console.log(i);
i的值为10.
起初并没有仔细想, 认为循环结束后因为是i++, 在结束后还要加一次, 所以是10.
但是, 打印的i在循环体外边.
"局部变量"在外边怎么能打印?
事实上, for循环并不是函数体. var声明的是全局变量.或者作用域上一级function
// 解决办法
function foo() {
var sum = 0;
for (let i=0; i<100; i++) {
sum += i;
}
i += 1; // SyntaxError
}