js变量提升和函数提升

今天做了一份公司的笔试题目,把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()不行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章