前端進階課程之宣告提升

沉默抒懷者發表於2018-11-10

目錄:

  • 變數宣告提升
  • 函式宣告提升
  • 函式優先原則
  • 相同型別宣告,後者覆蓋前者

1: 變數宣告提示

console.log(a); //undefined
var a = 10;
複製程式碼

2;函式宣告提升

fn1();// 輸出1,因為函式1被提升
fn2(); //報錯,因為fn2此時只是一個變數,提升以後值為undefined,不是一個函式宣告
function fn1 () {
    console.log(1);
}
var fn2 = function () {
    console.log(2);
}
複製程式碼

3: 函式優先原則

a();//此時輸出1,因為函式優先,函式a會首先被提升
var a = 10;
function a () {
    console.log(1);
}
console.log(a); // 10
複製程式碼

4: 相同型別宣告,後者覆蓋前者

a();//此時會輸出2,後面的宣告提升會把前面的覆蓋調
function a () {
    console.log(1);
}
function a () {
    console.log(2);
}
a();//2
複製程式碼

相關文章