通过一个小例子的对比,来看严格模式下与非严格模式中作用域的不同表现。
代码1:
'use strict';
let foo = 'enen';
if(true){
let foo = 'heihei';
console.log(foo); // heihei
}
console.log(foo); // enen
输出结果:
heihei
enen
代码2:
var foo = 'enen';
if(true){
var foo = 'heihei';
console.log(foo); // heihei
}
console.log(foo); // heihei
输出结果:
heihei
heihei
同一个{} 体内,两种不同结果,说明严格模式中块级作用域内的同名变量不受外部影响。
本文通过两个示例对比展示了JavaScript中严格模式与非严格模式下变量声明的区别,特别是块级作用域内同名变量的影响。
351

被折叠的 条评论
为什么被折叠?



