1 。
var herp="one";
{
var herp="two";
}
alert(herp); // two
理解块级作用域。对于JS,没有块级作用域~~~~区别与其他强类型语言。
2 。
另外,局部变量在整个函数内都是有定义的,即整个函数体中都隐藏了同名的全局变量。故:
var scope = "global";
funtion f(){
alert(scope);// undefined
var scope = "local";
alert(scope);// local
}
f();
3 。
var 变量是永久的,不能用 delete 删除。
隐式声明(没声明,却用到了的)的变量总是被创建为全局变量。所以要用 var 声明,不管是全局还是局部变量。