首页 > 编程语言 > 详细

javaScript中的小细节-局部作用域中的var

时间:2016-12-31 07:29:45      阅读:172      评论:0      收藏:0      [点我收藏+]

  javaScript中var是很神奇的,在局部作用域中,var a = b = c = 1;是不一样的,a为使用var声明的变量,而b和c则是全局下的,此类变量被称为隐式全局变量;var a = 1;b = 1; c = 1;分号分隔开的就很好理解了,使用var则为局部,未使用则为全局;var a = 1,b = 1,c = 1; 此种声明方式则是共用一个var,所以都是局部的;

  此外,在函数中使用var声明的变量就是局部变量是不准确的,如果自身是函数,父级还是函数,那么在父级中var声明的变量和自身未使用var声明的变量相同,如果此时全局中也有相同的变量时,调用后它只会去修改父级作用域中使用var声明变量的值而无法去修改全局的。

var num = 1;
    function fN1() {
        var num = 2;

        function fN2() {
            num = 3
        }

        fN2();
        console.log(num);    //3
    }
    fN1();
    console.log(num);    //1
   fN2();   //is not defined

 

javaScript中的小细节-局部作用域中的var

原文:http://www.cnblogs.com/neverSayToYourselfNo/p/6238653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!