JavaScript的变量提升

在JavaScript中,var变量具有函数级作用域,而且是整个函数作用域。为什么会是整个函数作用域呢?因为var变量具有变量(声明)提升功能,能将变量声明隐式的提升到函数体的顶部。这样做的一个好处就是可以将重复的变量声明合并成一个,减少内存分配数量。但是,如果不知道变量提升的话,很可能出现一些意想不到的BUG。举例如下:

var n = 1;
function f() {
    console.log(n);
    var n = 2;
}
f();

执行该代码,输出的结果不是1,而是undefined。

上一篇:【emWin】例程八:绘制位图


下一篇:安装多个PHP环境会导致phpinfo和php -v中查看到的PHP版本不一致