Javascript简明教程四 作用域
上面讲了变量的和函数基本使用方式.
但是变量的使用还有一些问题,如果不明白这些问题是很容易出错的.
1.如果声明在全局作用域内,则该变量为全局变量
var x=1; function f(){ return x++; } f(); alert(x);
其结果为2
2.无论在哪里,不使用var定义而直接使用的,使用后该变量为全局变量
function f1(){x=1;} function f2(){x++;} f1(); f2(); f2(); alert(x);
其结果为3.
3.在函数或其它{}所围成的作用域中,以var声明的变量,其作用范围仅为{}之间(if等判断循环语句除外)
function f(){ var x=1; } f(); alert(x);
是得不到x的值的
但是
function f(){ if(1==1){ var x=1; alert(x); } alert(x); } f();
这里的第二个alert(x); 却可以得到x的值
4.内外作用域变量重名时,以当前作用域的变量优先
var x=100; function f(){ var x=1; alert(x); } f(); alert(x);
这段代码运行的结果是1,100
即重名时在函数内部只调用函数内部的变量
逍遥地羊啊。。。。
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号