JavaScript基礎概念之----變量提高/函數提高

變量提高函數

在ES6以前,JS沒有塊級做用域,只有全局做用域和函數做用域(局部做用域)。spa

變量提高:就是將變量聲明提高到它所在的做用域的最頂端code

console.log(a) //undefined
var a = 1;
console.log(a) //1


function fn(){
    console.log(b) //undefined
    var b = 2;
    console.log(b) //2
}
fn()

//實際上上面的代碼是按照如下順序執行的

var a;
console.log(a)
a = 1;
console.log(a)

function fn(){
    var b;
    console.log(b)
    b = 2
    console.log(b)
}
fn()

函數提高blog

在JS中建立函數有兩種方式:聲明式和表達式。只有聲明式才存在函數提高。作用域

console.log(fn1) //function fn1(){}
console.log(fn2) //undefined

function fn1(){}
var fn2 = function(){}

//實際上 以上代碼是按照如下順序執行的
function fn1(){}

console.log(fn1)
console.log(fn2)

var fn2 = function(){}
相關文章
相關標籤/搜索