变量提升

来源:互联网 发布:剑灵洪门崛起进阶数据 编辑:程序博客网 时间:2024/05/21 15:45
  • 什么是变量提升?
    先上一段代码:
var num = 10;function fn(){console.log(num);var num = 20;}

上面结果是输出是10还是20?答案是undefined。为什么?且继续看下一段代码:

function fn(){var num;console.log(num);num = 20;}

上面结果输出结果也是undefined。其实这段代码和上面那段代码都是等价的。这也就引出了变量提升的概念了。变量提升是指在函数体内部声明变量,会把该声明提升至函数体内部的最顶端。需要注意的是:只提升变量的声明,并没有赋值