js var多等式变量的定义

今天遇到一个var 定义的多等式变量   var a=b=1;

<script type="text/javascript">
    (function ters(){
        var a=b=1;//局部变量
    })();

    console.log(typeof a);//undefined
    console.log(typeof b);//number
</script>

这种情况下是离var定义近的那个变量是局部变量,而其他的不是var 定义的变量则为全局变量。就是等同于一下这个样子

<script type="text/javascript">
    (function ters(){
        var a=5;//局部变量
        b=a;
    })();

    console.log(typeof a);//undefined
    console.log(typeof b);//number
</script>

当等式越来越多的,依然遵循这个原理

<script type="text/javascript">
    (function ters(){
        // var a=b=c=d=1;

        var a=5;//局部变量

        b=a;//全局变量
        c=a;//全局变量
        d=a;//全局变量
    })();

    console.log(typeof a);//undefined
    console.log(typeof b);//number
    console.log(typeof c);//number
    console.log(typeof d);//number
</script>

 

posted @ 2017-07-24 18:29  RoadAspen  阅读(663)  评论(0编辑  收藏  举报