天天看點

函數聲明提升,變量聲明提升變量聲明提升函數聲明提升

函數聲明提升,變量聲明提升

  • 變量聲明提升
    • 釋義
    • 示例
  • 函數聲明提升
    • 釋義
    • 示例

變量聲明提升

釋義

在js中存在着變量聲明提升,在var聲明的情況下,先定義變量指派,後聲明,程式并不會報錯;且正常運作;在es6中已新增const,let兩種聲明方法,在此聲明中不會出現聲明提升的現象,若如此則會有報錯,使程式無法運作;

示例

  • 1 變量聲明提升,變量指派不會被覆寫;

    a = 1; var c = 1; var a; console.log('a = ', a); // a = 1

  • 2 變量聲明提升,變量指派不會被覆寫;

    var c = 1; a= 2; var a; console.log('a = ', a); // a = 2

函數聲明提升

釋義

在js中存在變量聲明提升,故也有函數聲明提升,且函數聲明提升會覆寫變量聲明提升;

示例

  • 1 函數聲明提升,變量指派不會被覆寫;

    var c = 1; var a= 2; function a() { return true;}; console.log('a = ', a); // a = 2

  • 2 函數聲明提升,變量指派不會被覆寫;

    var c = 1; var a; function a() { return true;}; console.log('a = ', a); // a = function