JavaScript变量提升机制失效了!

212 阅读1分钟

众所周知,JavaScript存在变量提升机制,比如对于下面的代码,

    console.log(x)
    var x = 20

会输出undefined
但是,对于这样的代码,输出结果就完全不一样了:

    console.log(name)
    var name = "张三"

你以为是undefined?错了!是张三! 我在两台电脑上的VScode和HBuilder都测试过了,测试过火狐、Edge、Chrome浏览器,结果如下:
第一次运行:空白
刷新之后:显示张三
我测试过一些变量名,暂时发现只有对于变量名为name的变量,会发生这种情况,这属实是一个非常迷惑的事件。