var a = 10; (function(){ console.log(a); var a = 100; })();结果:输出undefined 解释: function中有var a = 100; 声明会提升到function最开头,但赋值发生在最后。 上面的代码等价于: var a = 10; (function(){ var a; console.log(a); a = 100; })();打印a的时候,a并没有在function内赋值,所以是undefined
关于JS的变量提升的一道面试题
最新推荐文章于 2024-05-15 16:24:31 发布
关键词由CSDN通过智能技术生成