DIV CSS 佈局教程網

4.3 函數的調用
編輯:JavaScript基礎知識     

從上一節“JavaScript函數的定義”我們知道,如果一個函數僅僅是定義而沒有被調用的話,則函數本身是不會執行的。那麼這節課我們來給大家講解一下如何調用JavaScript函數。

這一節非常重要,如果你曾經學過其他編程語言(如C和Java),覺得JavaScript函數大同小異的話,那你就錯了。JavaScript函數跟其他編程語言函數最大的區別就在於它調用方式很多,而且很靈活。

常用的函數調用方式有4種:

  • (1)簡單調用;
  • (2)在表達式中調用;
  • (3)在事件響應中調用;
  • (4)通過鏈接調用;

下面,我們給大家詳細介紹一下這4中函數調用方式。

一、簡單調用

JS函數簡單調用,也被稱為直接調用。該方法一般比較適用於沒有返回值的函數。也就是說相當於執行函數中的語句集合。

語法:

 
函數名(實參1,實參2,….實參n);

說明:

這裡講解是調用函數的方式,不是定義函數的方式,別搞混了。如何定義函數,我們在上一節已經詳細講解了,大家要是忘了的話,記得回去翻翻。

調用函數時的實參取決於定義函數時的形參。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        //定義函數
        function alertSum()
        {
            //計算1+2+3+…+10的和
            var sum=0;
            for(var i=1;i<=10;i++)
            {
                sum=sum+i;
            }
        alert(sum);
        }
        //調用函數
        alertSum();
    </script>
</head>
<body>
</body>
</html>

在浏覽器預覽效果如下:

二、在表達式中調用

在表達式中調用函數的方式,一般適用於有返回值的函數,然後函數的返回值參與表達式的計算。通常該方式還會和輸出語句(如document.write()、alert()等)搭配使用。

舉例:判斷給定的年份是否閏年

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        //定義函數
        function isLeapYear(year)
        {
            //判斷閏年的條件
            if((year%4==0)&&(year%100!=0)||(year%400==0))
            {
                return year+"年是閏年";
            }
            else
            {
                return year+"年不是閏年";
            }
        }
        //調用函數
        document.write(isLeapYear(2015));
    </script>
</head>
<body>
</body>
</html>

在浏覽器預覽效果如下:

分析:

可能學到這裡,初學者對函數還不是很了解,不過我們可以從課程的例子好好琢磨思考一下,然後再加上我們提供的訓練題,很快你就能掌握了。

三、在事件響應中調用

JavaScript是基於事件模型的程序語言,頁面加載、用戶點擊、移動光標等都會產生事件。當事件產生時,JavaScript就可以調用某個函數來針對這個事件做出響應。

額,初學者可能學到這裡就有懵了,因為不知道啥是事件。沒關系,那麼久了我都那麼照顧大家,這次也不例外。不懂沒關系,在這裡,我們只是先給大家講一下有“在事件響應中調用函數”這麼一回事,免得到後期我們還得獨立章節來講解這個知識點,搞得教程凌亂。

對於JavaScript事件響應問題,我們在後續章節會給大家詳細講解。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function alertMes()
        {
            alert(" 學習網JavaScript入門教程");
        }
    </script>
</head>
<body>
    <input type="button" onclick="alertMes()" value="提交"/>
</body>
</html>

在浏覽器預覽效果如下:

我們點擊按鈕就會彈出對話框,效果如下:

這就是所謂的在事件響應中調用函數,這種方式非常實用。上面實例中的事件是“鼠標的點擊事件”。

四、通過鏈接調用

函數除了可以在事件響應中調用外,還可以通過超鏈接來調用函數。

語法:

 
<a href="javascript:函數名"></a>

說明:

在超鏈接中調用函數,指的就是在a標簽的href屬性中使用“javascript:函數名”來調用函數。當用戶點擊該超鏈接時,就會執行調用的相應函數。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function mes()
        {
            alert("她:我愛helicopter。\n我:oh~my,= =?!");
        }
    </script>
</head>
<body>
    <a href="javascript:mes()">表白對話</a>
</body>
</html>

在浏覽器預覽效果如下:

當我們點擊了超鏈接之後,就會調用函數mes(),效果如下:

分析:

這裡使用轉義字符“\n”來使得alert()函數的內容換行。大家別忘了JavaScript轉義字符喔。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved