JS变量作用域
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 397
<scriptlanguage="javascript"type="text/javascript">vara="change"functionfun(){alert(a)//输出undef

 <script language ="javascript" type ="text/javascript" >
        var a = "change";
        function fun() {
            alert(a);//输出undefined
            var a = "改变了";
            alert(a);//输出改变了
        }
        alert(a);//输出change
        fun();
    </script>

var定义的是一个作用域上的变量,在第一次输出a之前,JS在预编译分析中已经将a赋值为change,所以第一次输出change,当调用到fun()函数的时候,JS创建一个新的作用域,在输出a之前,初始化所有var变量的值为undefined,所以fun()中第一次输出的是undefined,第二次输出已经给a赋值了,所以输出新的值;两个a在函数里面和外面是不同的两个变量,如:

    <script language ="javascript" type ="text/javascript" >
        var b;
        function fun() {
         b = "change";
        }
        alert(b);//输出undefined
    </script>

  


 变量b在函数外面已经定义了,在函数中有给b赋值,但输出的却是undefined。

我的问题网 www.shenzhidao.com 有关于网站的东西欢迎大家一起交流!
联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2