JavaScript定義函數

定義函數

在JavaScript中,定義函數的方式如下:

function abs(x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}

上述abs()函數的定義如下:

  • function指出這是一個函數定義;

  • #abs是函數的名稱;

  • (x)括號內列出函數的參數,多個參數以,分隔;

  • #{ ... }之間的程式碼是函數體,可以包含若干語句,甚至可以沒有任何語句。

請注意,函數體內部的語句在執行時,一旦執行到return時,函數就會執行完畢,並將結果傳回。因此,函數內部透過條件判斷和循環可以實現非常複雜的邏輯。

如果沒有return語句,函數執行完畢後也會回傳結果,只是結果為undefined。

由於JavaScript的函數也是一個對象,上述定義的abs()函數實際上是一個函數對象,而函數名稱abs可以視為指向該函數的變數。

因此,第二種定義函數的方式如下:

var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
};

在這種方式下,function (x) { ... }是一個匿名函數,它沒有函數名稱。但是,這個匿名函數賦值給了變數abs,所以,透過變數abs就可以呼叫該函數。

上述兩種定義完全等價,注意第二種方式按照完整語法需要在函數體末尾加一個;,表示賦值語句結束。

我們完成對兩個數字求和並顯示結果的函數。並給函數一個有意義的名字:“add2”,程式碼如下:

<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
    function add2(){
        sum = 3 + 2;
        alert(sum);
    }  add2();
</script>
</body>
</html>

結果: 

QQ截图20161012143034.png

繼續學習
||
<!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction()">点击这里</button> </body> </html>