通过 typeof
我们可以看到 hi
现在是个 undefined
了,这是为什么呢?
这是因为 JavaScript 解释器中存在一种变量声明被提升(hoisting)的机制,也就是说变量(函数)的声明会被提升到当前作用域的最前面,即使写代码的时候是写在最后面,也还是会被提升至最前面。
这样上面的例子在执行的时候就成了这样的:
这样是不是一下就恍然大悟了。所以在实际开发的时候,一定要注意变量(函数)的声明会被提升到当前作用域的最前面
通过 typeof
我们可以看到 hi
现在是个 undefined
了,这是为什么呢?
这是因为 JavaScript 解释器中存在一种变量声明被提升(hoisting)的机制,也就是说变量(函数)的声明会被提升到当前作用域的最前面,即使写代码的时候是写在最后面,也还是会被提升至最前面。
这样上面的例子在执行的时候就成了这样的:
这样是不是一下就恍然大悟了。所以在实际开发的时候,一定要注意变量(函数)的声明会被提升到当前作用域的最前面