關於函數

function

函數的聲明三種方式:瀏覽器

  • function test () {}
  • 函數直接量
    var test2 = function () {}
  • Function構造函數
    var test3 = new Function(arg1, arg2, function_body)

區別:ide

clipboard.png

函數是一個能夠被其它代碼或其自身調用的代碼片斷,或者是一個指該函數的變量variable
當函數被調用時,參數arguments做爲輸入傳遞到函數,而且函數能夠選擇的返回輸出。
在JS中函數也是一個對象Object函數

函數名是做爲函數聲明或函數表達式的一部分聲明的標識符identifier.
函數的做用域scope取決於函數名是一個聲明仍是表達式。spa

不一樣類型函數

匿名函數code

匿名函數是一個沒有函數名的函數對象

function () {}

命名函數ip

命名函數是具備函數名稱的函數作用域

function fn () {}

當即執行表達式編譯器

當即調用函數表達式(IIFE)是一個函數,其在函數被加載到瀏覽器的編譯器以後直接調用的。it

(function () {})()

命名函數表達式

做用:函數體內部引用當前函數。

命名函數表達式,函數名將會(只會)做爲函數體(做用域內)的本地變量。這樣能夠避免使用非標準的aruments.callee屬性

var math = {
    'fn': fn (n) {
        if (n <= 1) {
            return 1;
        }
        return n * fn(n - 1);
    }
}
相關文章
相關標籤/搜索