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

请教,一个 JS 中关于函数提升的问题?

请教,一个 JS 中关于函数提升的问题?

MMMHUHU 2018-11-13 13:21:51
如下代码:function a() {    console.log('1')}    (function() {    console.log(a);    if(1) {        function a() {            console.log('2');        }    }})()运行之后,输出的是undefined。而去掉 if 条件之后,输出的又是第二个 a 函数function a() {    console.log('1')}    (function() {    console.log(a);    // if(1) {        function a() {            console.log(2);        }    // }})()知道函数有提升,第二段代码,第二个 a 函数会提升到 console.log(a) 这句代码之前,所以运行输出 第二个 a 函数。可是第一段代码,就搞不明白为啥会输出 undefined 了。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 440 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号