关于变量提升

JS 在 ES6 之前,只有全局作用域和函数作用域,因此在 ifwhile 之类里用 var 定义的变量是会提升到外面去的。

变量提升的过程中,函数的提升比变量的提升有更高优先级,也就是说同名下,会保留函数的定义,下面的代码输出的是 f hello() {}

function hello() {}
var hello

console.log(hello) // f hello() {}

其实这个现象也可以理解为变量的提升比函数的提升更靠前,所以定义被函数覆盖了。

关于变量提升

上一篇:Oracle 11g rac 修改心跳ip


下一篇:Python编程与数据结构