Function

argument

  • argument物件是一個對應傳入函式之引數的類陣列(Array-like)物件。

  • JavaScript 有預設的參數arguments可直接帶入,這種參數不須預先設定,所有函式都內建此參數,他會將呼叫函式所帶入的參數一並透過陣列的方式傳入

  • 不過 arguments 實際在使用時會有一些小問題,像是範例中為何是使用 for 迴圈,而不是使用 forEach,主要原因是 arguments 並非真正的 陣列,它是 類陣列(Array-like) 的物件,因此無法使用許多陣列相關的方法。

  • 參數了解總共傳入了幾次並加總

Hoisting

  • 說明變數、函式在宣告期間就會先建立一個記憶體空間,等到實際運行時再將值放入到該記憶體空間內。
  • phone = 'myphone' 直接賦予在全域物件上的屬性,因為並不是使用 “宣告”,這已經屬於定義階段,所以在記憶體中他還沒有值
  • 函式概念中也是一樣的,如果在函式之前使用 console.log() 則會出現 undefined,當然這個函式也無法被使用。 這種函式宣告方法稱為:function expression 函式表達式(function 會由 var 定義)。
  • function declaration 函式陳述式中(function 放在最前方的寫法),整個函式都會被提升到最前方,所以在函式前方直接調用方法也可以運行。
  • Hoisting 這個觀念主要是要了解 JavaScript 記憶體運作的觀念
  • 實作上也會避免在 function 前方直接呼叫函式,這樣會降低對於程式碼的可維護性。
  • 即使我們函式的程式碼之前就先呼叫它,程式碼仍然可以運作。這是出於 JavaScript 內文執行的運作原理。

results matching ""

    No results matching ""