我的一个朋友正在进行在线测验,他问我这个我无法回答的问题.
var global = false; function test() { global = true; return false; function global() {} } console.log(global); // says false (As expected) test(); console.log(global); // says false (Unexpected: should be true)
如果我们假设函数在顶部和var变量一起被提升,让我们试试这个.
var foo = 1; function bar() { return foo; foo = 10; function foo() {} var foo = 11; } bar(); console.log(foo); //says 1 (But should be 11) Why 1 this time ??
解决方法
原文地址:https://www.jb51.cc/js/156842.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。