官术网_书友最值得收藏!

3.4 函數

視頻講解:光盤\TM\lx\3\08函數.mp4

函數實質上就是可以作為一個邏輯單元對待的一組JavaScript代碼。使用函數可以使代碼更為簡潔,提高重用性。在JavaScript中,大約95%的代碼都是包含在函數中的。由此可見,函數在JavaScript中是非常重要的。

3.4.1 函數的定義

函數是由關鍵字function、函數名加一組參數以及置于大括號中需要執行的一段代碼定義的。定義函數的基本語法如下:

        function functionName([parameter 1, parameter 2, …]){
            statements;
            [return expression; ]
        }

參數說明:

functionName:必選項,用于指定函數名。在同一個頁面中,函數名必須是唯一的,并且區分大小寫。

parameter:可選項,用于指定參數列表。當使用多個參數時,參數間使用逗號進行分隔。一個函數最多可以有255個參數。

statements:必選項,是函數體,用于實現函數功能的語句。

expression:可選項,用于返回函數值。expression為任意的表達式、變量或常量。

【例3.25】定義一個用于計算商品金額的函數account(),該函數有兩個參數,用于指定單價和數量,返回值為計算后的金額。具體代碼如下:

        function account(price, number){
            var sum=price*number;                                   //計算金額
            return sum;                                              //返回計算后的金額
        }

3.4.2 函數的調用

函數的調用比較簡單,如果要調用不帶參數的函數,使用函數名加上括號即可;如果要調用的函數帶參數,則在括號中加上需要傳遞的參數;如果包含多個參數,各參數間用逗號分隔。

如果函數有返回值,則可以使用賦值語句將函數值賦給一個變量。

【例3.26】對例3.25中定義的函數account(),可以通過以下代碼進行調用。

        account(10.6,10);

說明

在JavaScript中,由于函數名區分大小寫,在調用函數時也需要注意函數名的大小寫。

【例3.27】定義一個JavaScript函數checkRealName(),用于驗證輸入的字符串是否為漢字。(實例位置:光盤\TM\sl\3\7)

(1)在頁面中添加用于輸入真實姓名的表單及表單元素。具體代碼如下:

        <form name="form1" method="post" action="">
        請輸入真實姓名:<input name="realName" type="text" id="realName" size="40">
        <br><br>
        <input name="Button" type="button" class="btn_grey" value="檢測">
        </form>

(2)編寫自定義的JavaScript函數checkRealName(),用于驗證輸入的真實姓名是否正確,即判斷輸入的內容是否為兩個或兩個以上的漢字。checkRealName()函數的具體代碼如下:

        <script language="javascript">
            function checkRealName(){
                var str=form1.realName.value;                           //獲取輸入的真實姓名
                if(str==""){                                            //當真實姓名為空時
                    alert("請輸入真實姓名!"); form1.realName.focus(); return;
                }else{                                                  //當真實姓名不為空時
                    var objExp=/[\u4E00-\u9FA5]{2, }/;                  //創建RegExp對象
                    if(objExp.test(str)==true){                         //判斷是否匹配
                        alert("您輸入的真實姓名正確!");
                    }else{
                        alert("您輸入的真實姓名不正確!");
                    }
                }
            }
        </script>

說明

正確的真實姓名由兩個以上的漢字組成,如果輸入的不是漢字,或是只輸入一個漢字,都將被認為是不正確的真實姓名。

(3)在“檢測”按鈕的onclick事件中調用checkRealName()函數。具體代碼如下:

        <input name="Button" type="button" class="btn_grey" onclick="checkRealName()" value="檢測">

運行程序,輸入真實姓名“cdd”,單擊“檢測”按鈕,將彈出如圖3.15所示的對話框;輸入真實姓名“綠草”,單擊“檢測”按鈕,將彈出如圖3.16所示的對話框。

圖3.15 輸入的真實姓名不為漢字

圖3.16 輸入的真實姓名為漢字

主站蜘蛛池模板: 江安县| 阳东县| 霸州市| 兰西县| 南宁市| 同德县| 宜春市| 金塔县| 正镶白旗| 秭归县| 陕西省| 广南县| 永宁县| 亳州市| 晋州市| 阿拉善左旗| 和田县| 突泉县| 尉氏县| 措美县| 青海省| 西贡区| 竹北市| 云南省| 曲水县| 东兰县| 青海省| 白朗县| 鄱阳县| 博兴县| 报价| 铜川市| 海丰县| 松江区| 乌拉特中旗| 通河县| 兴安盟| 玉山县| 南投市| 岑溪市| 肇东市|