Js Hoisting

  • 67
  • 0
  • Js
  • 2020-01-06

execute context 環境 :運行時,才會執行,宣告時不會執行

    創造環境 (會依函式優先,變數排後)

    執行

上篇講過如下:

execute context 下的創造環境、執行流程

創造 : 函式物件 ,給函式值,變數物件

執行 : 給變數值

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

程式碼由上而下,然這樣表面上看,會認為未宣告時,會exception,但在Js 有Hoisting 機制,所以是 alert('test')

函式 example1

a();

function a () {

    alert('test');

}

執行環境時,先創造在執行,所以上範例流程 :

創造 :

function a () {

    alert('test');

}

執行 : a();

~~~~~~~~~~~~~~~~~~~~~~

函式 example2

a();

var a = function() {

    alert('test');

}