JS变量声明那些坑

 //js变量声明demo
    var a = 1;                //var定义在函数外部的变量为JS全局变量,在函数内部可以使用
    function fun1(){
        alert( a );          //将弹出1
        var b = c = d =2;   //var定义在函数内部的变量为局部变量,作用域只在函数这种赋值的形式等效于var b = (c = (d = 2)),赋值运算是从右向左结合的,所以c,d被定义为全局变量,a被定义为局部变量
        var e , f , g = 3;
        alert( b );   //将弹出2
        alert( c );   //将弹出2
        alert( d );   //将弹出2
        alert( e );   //弹出undefined [解释:变量声明但未初始化时,变量默认的值为undefined]
        alert( f );   //弹出undefined
        alert( g );   //弹出3
                     }                                                                                
    fun1();
    alert( b );   //报错,not defined
    alert( c );   //将弹出2
    alert( d );   //将弹出2
    alert( e );   //报错,not defined
    alert( f );   //报错,not defined
    alert( g );   //报错,not defined

猜你喜欢

转载自blog.csdn.net/qlzx_syzx/article/details/80395706
今日推荐