为什么输出是 I am inside!
function f() { console.log('I am outside!'); }
(function () {
if(false) {
// 重复声明一次函数f
function f() { console.log('I am inside!'); }
}
f();//I am inside!
}());
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不要在if里声明函数 各个浏览器处理都不一样 你可以试试 ff 跟chrome
无非就是 一个是提升 一个没提升
这块代码是函数声明,函数声明是进入上下文时候就存在,相当于如下:
补充一点————当不是函数声明,而是函数表达式的时候:
当为函数表达式的时候,由于var声明提前至上下文前部,相当于:
我用谷歌浏览器打印是 报错
楼主的是报错,根本不会打印出来