A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

预解析相信大家都了解,相关的面试题也遇到过不少。这里给大家分享一下关于函数预解析其中一个坑。
console.log(test)
    if(true){
        function test(){
            console.log('test');
        }
    }
     console.log(test);
这道题 第2个控制台打印相信大家都知道是test这个函数体。但是有些人可能对一个打印就有点不确定了。不知道小伙伴们遇到过函数在条件句里面的情况吗  函数在预解析的时候 还会预解析吗

评分

参与人数 1黑马币 +5 收起 理由
绮丽 + 5 赞一个!

查看全部评分

5 个回复

倒序浏览
通过打印发现,第一个test打印的是undefined,很多人就很好奇了, 函数不应该预解析吗。其实,条件式的函数不会被提升,但是函数名会提升。 所以打印出undefined就不足为奇了。
回复 使用道具 举报
短而精悍吗~哈啊
回复 使用道具 举报
可以
回复 使用道具 举报
回复 使用道具 举报
优秀,奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马