像其他语言一样,毫无疑问,全局变量优先级低于局部变量的,但是在js里面有个很有去的现象就是叫做“变量提前声明”
看下面的代码:
var scope = "global";
function test(){
console.log(scope);//undefined;
var scope = "local";
console.log(scope); //local
}
还有就是js是以函数为一个作用域,就是说在同一个函数里面即使不是在同一个块里面但是这个函数里面的变量还是可以相互使用的,
function test(o){
for(int i=0;i<9;i++){
var j = 0;
}
console.log(j);//0
}