首页 新闻 会员 周边

函数方法运行的原理

0
悬赏园豆:5 [已解决问题] 解决于 2016-11-17 21:03

    var a, b = 0,
            fn = function(){
                var a = b = 2;
    };
    fn();
    console.log(a, b);

 

为什么执行完结果是a 没定义,b=2;求解

朝阳升的主页 朝阳升 | 初学一级 | 园豆:197
提问于:2016-11-17 10:14
< >
分享
最佳答案
0
fn = function() {
    var a = b = 2;
};

上面的a是fn的區域變數,因為有用var聲明,b沒有用var聲明,所以b是全域變數(就是window.b)

 

fn = function() {
    var a = b = 2;
    console.log(a); //2
};

這樣打印的才是fn的區域變數a,結果會是2

收获园豆:5
RosonJ | 老鸟四级 |园豆:4910 | 2016-11-17 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册