javascript的自定義函數有哪些

2022-03-28 22:03:04

自定義函數有:1、命名函數,語法「function 函數名(){}」;2、匿名函數,語法「var 變數名=function(){};」;3、物件函數,語法「var 變數名=Function();」;4、自調函數,將函數的定義與呼叫一併實現。

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

函數是一組延遲動作集,可以通過事件觸發或在其他指令碼中呼叫。

JavaScript 中的兩類函數:預定義函數、自定義函數

  • 預定義函數

    • 【parseInt / parseFloat】string 轉 int/float

    • 【isNaN / isFinite】檢測引數是否為 非數位值/無窮數

    • 【escape / unescape】對字串 編碼/解碼

    • 【eval】執行 JavaScript 指令碼

    • 【alert / confirm / prompt】三種警示框

  • 自定義函數

    • 【命名函數】function funcName(){}

    • 【匿名函數】var x=function(){};

    • 【物件函數】var x=Function();

    • 【自調函數】(function(){}());

自定義函數

JavaScript 中除了可以使用預定義函數外,還可以使用自定義函數。

在自定義函數時既不需要宣告函數的引數型別,也不需要宣告函數的返回型別。

JavaScript 目前支援的自定義方式有:

  • 命名函數

  • 匿名函數

  • 物件函數

  • 自調函數

1. 命名函數

  • 命名函數通過 function 關鍵詞進行定義,其後是函數名和括號 ()。
  • 完成函數的定義後,函數並不會自動執行,只有通過事件或指令碼呼叫時才會執行。
  • 在同一個 <script></script> 標籤中,函數的呼叫可以在函數定義之前,也可以在函數定義之後。
  • 在不同的 <script></script> 標籤中,函數的定義必須在函數的呼叫之前,否則呼叫無效。

格式如下:

function funcName([parameters]){
  statements;
  [return 表示式;]
}

2. 匿名函數

  • 匿名函數的定義格式與命名函數基本相同,只是沒有提供函數的名稱,並且結束位置應有分號; 。由於沒有函數名字,所以需要使用變數對匿名函數進行接受,方便後面函數的呼叫。
  • 命名函數對初學者來說,上手容易,但可讀性較差。匿名函數使用相對更加方便,可讀性更好,當前比叫流行的 JavaScript 框架基本上都採用匿名函數的方式來定義函數。

格式如下:

var x=function([parameters]){
  statements;
  [return 表示式;]
};

3. 物件函數

JavaScript 提供了 Function 類,用於定義函數。格式如下:

var func1=new Function([parameters],statements;);
  • Function 是用來定義函數的關鍵字,首字母必須大寫。
  • parameters 為函數引數,可選。當有多個引數時,引數之間用逗號, 隔開。
  • statements 為函數執行體。當有多條執行語句時,語句之間以分號; 隔開。

4. 自呼叫函數

一般情況下,函數本身不會自動執行,只有呼叫時才會被執行。所以 JavaScript 提供了一種自呼叫函數,將函數的定義與呼叫一併實現。格式如下:

(function([parameters]){
  statements;
  [return 表示式;]
})([params]);
  • 需要使用小括號() 將自調函數括起來,並以分號; 結束。
  • parameters 為形參,可選。引數之間以逗號, 隔開。
  • params 為實參,在函數呼叫時傳入資料。

程式碼範例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>test</title>
</head>
<body>
  <input id="btn1" type="button" onclick="button1Event()" value="button1" />
  <input id="btn2" type="button" onclick="button2Event()" value="button2" /><br />
  <input id="a" type="text"/><input id="b" type="text"/><br />
  <input id="sumBtn" type="button" value="x+y" onclick="sum()"/>
  
  <script type="text/javascript">
    function button1Event(){/* 命名函數 */
        alert("命名函數:按鈕1被點選!");
    }
    var x=function(){/* 匿名函數 */
        alert("匿名函數:按鈕2被點選!");
    }
    button2Event=x;
    
    var y=new Function("a", "b", "return a+b");/* 物件函數 */
    sum=function(){
        var aValue=parseInt(document.getElementById("a").value,10);
        var bValue=parseInt(document.getElementById("b").value,10);
        alert("物件函數:"+y(aValue,bValue));
    }
    
    var tema=2;var temb=2;
    (function(a,b){/* 自調函數 */
        alert("自調函數:"+(a+b));
    })(tema,temb);
  </script>
</body>
</html>

效果演示:

【相關推薦:、】

以上就是javascript的自定義函數有哪些的詳細內容,更多請關注TW511.COM其它相關文章!