函數定義:
function 函數名稱(形式參數列表){
語句
}
調用函數:
函數名稱(實際參數列表);
注意:
1)js的函數使用function定義,但是形式參數列表不能使用var關鍵詞
2)js的函數可以有返回值,直接使用return關鍵詞返回即可,不需要聲明返回值類型
3) js沒有方法重載的概念,后面定義的函數會覆蓋前面的函數。
4)js中的形式參數和實際參數的數量可以不一致,依然可以調用。
5)js的每個函數中都隱藏了一個叫arguments的數組,這個數組用于接收函數調用時傳遞過來的實際參數值。
6)arguments數組接收完實際參數后,會逐一的依次從左到右賦值給形式參數,如果實際參數數量大于形式參數,則丟失剩下的實際參數
function add(a,b){ //a=10 b=20 40
//alert(arguments.length);
for(var i=0;i<arguments.length;i++){
document.write(arguments[i]+",");
}
var result = a+b;
document.write("兩個參數的結果為:"+result);
//return result;
}
function add(a,b,c){ // a=10 b=20 c undefined a+b+c=NaN
var result = a+b+c;
document.write("三個參數的結果為:"+result);
}
//var s = add(10,20);
//document.write("返回值:"+s);
add(10,20);
實際參數<形式參數: NaN
實際參數>形式參數: 取前面的實際參數,后面的參數丟失
<script type="text/javascript">
/*
如果大月,顯示“該月有31天”
如果小月,顯示“該月有30天”
如果2月,顯示“該月有28天“
*/
function check(){
//alert("調用");
var month = document.getElementById("month").value; //表單輸入的內容都是string類型!!
//alert(typeof(month));
//alert(month);
//string和number比較,string會自動轉換成number類型,再進行比較
/*
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10
|| month==12){
alert("該月有31天");
}else if(month==4 || month==6 || month==9 || month==11){
alert("該月有30天");
}else if(month==2){
alert("該月有28天");
}else{
alert("地球上沒有這個月份");
}
*/
//強制轉換
month = parseInt(month);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert("該月有31天");
break;
case 4:
case 6:
case 9:
case 11:
alert("該月有30天");
break;
case 2:
alert("該月有28天");
break;
default:
alert("地球上沒有這個月份");
}
}
</script>
</head>
<body>
請輸入一個月份值:<input type="text" id="month"/><input type="button" value="查詢" onclick="check()"/>
</body>