黑马程序员技术交流社区

标题: 【上海校区】函数预解析遇到的坑 [打印本页]

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

作者: sh_hwd    时间: 2017-8-22 15:59
通过打印发现,第一个test打印的是undefined,很多人就很好奇了, 函数不应该预解析吗。其实,条件式的函数不会被提升,但是函数名会提升。 所以打印出undefined就不足为奇了。
作者: 绮丽    时间: 2017-8-23 09:39
短而精悍吗~哈啊
作者: 天树123    时间: 2017-8-25 10:54
可以
作者: 那么那么纯洁    时间: 2017-8-25 11:10

作者: 不二晨    时间: 2018-7-20 11:08
优秀,奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2