javascript中函式宣告和函數運算式的區別

來源:互聯網
上載者:User

標籤:javascript   函式宣告   函數運算式   

1.js中函數運算式的定義

運算式(expression)JavaScript中的一個短語,javascript會將其計算(evaluate)出一個結果。程式中的常量是一個最簡單的運算式。變數名也是一種簡單的運算式,它的值就是賦值給變數的值。複雜運算式是由簡單運算式組成。
——摘自《javascript權威指南》

一個經典的函數運算式的定義方法:

//函數運算式的聲明,運算式的值就是這個新定義的函數var expressFunc = function(){};

函數名稱是函式宣告語句必須得部分。它的用途就像變數的名字,新定義的函數對象會賦值給這個變數。對函數定義運算式來說,這個名字是可選的:如果存在,改名字只存在函數體中,並指代該函數對象本身。
注意:
以運算式來定義函數只適用於它作為一個大的運算式的一部分,比如在賦值和調用過程中定義函數。

//函數運算式的聲明,運算式的值就是這個新定義的函數var expressFunc = function(){};//函式宣告function abc(){}//傳入參數的函式宣告function abc2(test){}//函數運算式出入參數var expressTest = function(test){};//函數運算式可以包含名稱,這裡實際是將結果函數的結果賦值給expressTestvar expressTest = function evalu(test) {    if (test) {        return 2;    }    else{        return -1;    }};//console.log(evalu());   //錯誤的調用方式console.log(expressTest());//函數運算式作為參數傳給其它函數data.sort(function(a, b){return a-b;})

以函數運算式的方式來定義函數,函數的名稱是可選的。如果定義了函數名稱,這時函數名稱會變成函數內部的一個局部變數(非常適合用於遞迴)。函數定義運算式特別適合用來定義只會用到一次的函數。

javascript中函式宣告和函數運算式的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.