众所周知,JavaScript存在变量提升机制,比如对于下面的代码,
console.log(x)
var x = 20
会输出undefined。
但是,对于这样的代码,输出结果就完全不一样了:
console.log(name)
var name = "张三"
你以为是undefined?错了!是张三!
我在两台电脑上的VScode和HBuilder都测试过了,测试过火狐、Edge、Chrome浏览器,结果如下:
第一次运行:空白
刷新之后:显示张三
我测试过一些变量名,暂时发现只有对于变量名为name的变量,会发生这种情况,这属实是一个非常迷惑的事件。