例如:
if(true){
var color = "blue";
}
console.log(color);
这里会在控制台输出“blue”。
如果在C、C++或Java中,color会在if语句执行完毕之后被销毁。
但是在JavaScript中,这个if语句在全局环境中,那么通过var声明的变量也会加到当前的执行环节(即全局环境)中。
还需要注意的是:
for( var i =0; i <10; i++){
doSomething(i);
}
alert(i);
这里在for中初始化了变量i,在for循环执行结束后,变量i也依旧会存在于循环外部的执行环境中。
网友评论