JAVA问题:对JavaScript变量提升原理的理解有不清楚的一点

通过输出变量tel得出的结论是:全局变量的值不会影响局部变量,因此局部变量返回了未定义undefined,但是输出变量name又推翻了这个结论,按照前面这个结论来说,此时在函数内输出name,应该提示我找不到name才对啊,为什么全局变量name此时进入了函数内

图片说明

为什么会找不到name。。。你的name是全局变量,而且你执行Test函数都已经赋值过了
javascript运行机制浅析

js有一个叫什么预编译机制?具体名字忘了,反正你下边如果声明一个 变量var a = 5,那在开始的时候会创建一个变量a,但是未初始化,等到执行var a = 5的时候才会初始化。