为了账号安全,请及时绑定邮箱和手机立即绑定

变量的赋值情况解惑

变量的赋值情况解惑

Helenr 2018-10-19 09:24:40
第一:如下,按我的理解是函数里面的b引用了外面定义的全局变量b并重新赋值,所以b=2可以理解,而在函数里面重新定义了变量a生成新的作用域,我不理解a的值为undefined的具体思路是怎么来的???var a, b = 0,  fn = function(){var a = b = 2; }; fn();console.log(a, b);//(undefined,2)第二:如下,在函数里面,不是应该先提升变量么,为什么第一个打印出a的值是undefined?var a = 100; function test () {     console.log(a);//undefined              var a = 200;             console.log(a);//200    }    test();请大神们指点迷津......
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

1.你的a没有赋值自然是undefined,请用 var a=0,b=0;

2.test()下的a会在函数内变量提升,相当于

function test(){
    var a;
    console.log(a);
    a=200;
    console.log(a);
}


查看完整回答
反对 回复 2018-11-01
  • 1 回答
  • 0 关注
  • 434 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信