溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript如何創(chuàng)建函數(shù)

發(fā)布時間:2021-10-15 10:50:52 來源:億速云 閱讀:182 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“javascript如何創(chuàng)建函數(shù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“javascript如何創(chuàng)建函數(shù)”這篇文章吧。

創(chuàng)建方法:1、使用function關鍵字,語法“function funName([args]) {..}”;2、使用Function()函數(shù),語法“var funName=new Function(p1,p2,...,pn,body)”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript創(chuàng)建函數(shù)的方法

1、使用 function 關鍵字

在 JavaScript 中可以使用 function 關鍵字聲明函數(shù)。具體用法如下:

function funName([args]) {
    statements
}

funName 是函數(shù)名,與變量名一樣必須是 JavaScript 合法的標識符。在函數(shù)名之后是一個由一個小括號包含的參數(shù)列表,參數(shù)之間以逗號分隔。參數(shù)是可選的,沒有數(shù)量限制。

作為標識符,參數(shù)僅在函數(shù)體內(nèi)被訪問,參數(shù)是函數(shù)作用域的私有成員。調(diào)用函數(shù)時,通過為函數(shù)傳遞值,然后使用參數(shù)獲取外部傳入的值,并在函數(shù)體內(nèi)干預函數(shù)的運行。

在小括號之后是一個大括號,大括號內(nèi)包含的語句就是函數(shù)體結構的主要內(nèi)容。在函數(shù)體重,大括號是必不可少的,缺少大括號,JavaScript 將會拋出語法錯誤。

  • function 語句必須包含函數(shù)名、小括號和大括號,其他代碼都可省略,因此最簡單的函數(shù)體是一個空函數(shù)。

function funName() {}  //空函數(shù)
  • 如果使用匿名函數(shù),則可以省略函數(shù)名。

function () {}  //匿名空函數(shù)

2、使用 Function() 構造函數(shù)

使用 Function() 構造函數(shù)可以快速生成函數(shù)。具體用法如下:

var funName = new Function(p1, p2, ..., pn, body);

Function() 的參數(shù)類型都是字符串,p1~pn 表示所創(chuàng)建函數(shù)的參數(shù)名稱列表,body 表示所創(chuàng)建函數(shù)的函數(shù)結構體語句,在 body 語句之間以分號分隔。

  • 可以省略所有參數(shù),僅傳遞一個字符串,用來表示函數(shù)體。

var f = new Function ("a", "b", "return a+b");  //通過構造函數(shù)來克隆函數(shù)結構

在上面代碼中,f 就是所創(chuàng)建函數(shù)的名稱。同樣是定義函數(shù),使用 function 語句可以設計相同結構的函數(shù)。

function f(a, b) {  //使用function語句定義函數(shù)結構
    return a + b;
}
  • 使用 Function() 構造函數(shù)可以不指定任何參數(shù),創(chuàng)建一個空函數(shù)結構體。

var f = new Function();  //定義空函數(shù)

使用 Function() 構造函數(shù)可以動態(tài)的創(chuàng)建函數(shù),它不會把用戶限制在 function 語句預聲明的函數(shù)體中。使用 Function() 構造函數(shù)能夠把函數(shù)當做表達式來使用,而不是當做一個結構,因此使用起來會更靈活。其缺點就是,F(xiàn)unction() 構造函數(shù)在執(zhí)行期被編譯,執(zhí)行效率非常低,一般不推薦使用。

以上是“javascript如何創(chuàng)建函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI