js变量提升和函数提升

来源:互联网 发布:淘宝账户如何注销 编辑:程序博客网 时间:2024/05/21 09:48

今天做了一份公司的笔试题目,把js中变量提升的知识写下来。

var num = 1;function test(){    console.log(num);    var num = 2;    console.log(num);}test();

输出结果为undefined 和 2.
test1();test2();function test1(){    alert(1);}var test2 = function(){    alert(2);}
上面代码使用声明式和字面量两种方式创建函数。

函数test1可以调用,但函数test2不可以调用。

这里涉及到JavaScript中变量提升和函数提升的知识。

在js中,每一个执行环境中的变量声明都会提升到该执行环境的最顶端。

对于函数,只有函数声明式也就是test1()可以进行函数提升被调用,但test2()不行。