- Java Web從入門到精通(第2版)
- 明日科技
- 992字
- 2020-11-28 17:38:18
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 輸入的真實姓名為漢字
- Learning Single:page Web Application Development
- Network Automation Cookbook
- iOS開發實戰:從零基礎到App Store上架
- FFmpeg入門詳解:音視頻流媒體播放器原理及應用
- Hands-On JavaScript High Performance
- 信息安全技術
- 面向對象程序設計(Java版)
- Python編程:從入門到實踐
- 微信小程序全棧開發技術與實戰(微課版)
- HTML5秘籍(第2版)
- Java并發編程之美
- 黑莓(BlackBerry)開發從入門到精通
- Python 3快速入門與實戰
- Node.js實戰:分布式系統中的后端服務開發
- MongoDB Administrator’s Guide