码迷,mamicode.com
首页 > 其他好文 > 详细

有意思的小程序

时间:2015-05-13 20:03:38      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

        //函数一
        var a = ‘a1‘;
        function f1(){
            var a = a || ‘a2‘;
            alert(a);
        }
        f1();
        
        // 函数二
        var b = ‘b1‘;
        function f2(){
            b = b || ‘b2‘;
            alert(b);
        }
        f2();

函数一弹出(a2),函数二弹出(b1).

为什么不一样呢?

第二个函数输出这个结果应该都能理解,函数内部可以直接引用全局变量,

主要就是第一个函数的结果,有点不太理解,

看看这一句“var a = a || ‘a2‘;"这句的两个a,

var定义变量时总是先声明,后赋值,

此时的a是undefined,所以后面那个a也就是undefined,

有意思的小程序

标签:

原文地址:http://my.oschina.net/u/2360886/blog/414462

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!