4.1如何調(diào)用函數(shù)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function print(par1,par2,par3){
alert(par1+par2+par3);
}
</script>
</head>
<body>
<script type="text/javascript">
print("JavaScript函數(shù)","調(diào)用","方法");
</script>
</body>

image.png
4.2調(diào)用自定義函數(shù)計(jì)算三個(gè)參數(shù)的平均值
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function setValue(num1,num2,num3){
var avg=(num1+num2+num3)/3;
return avg;
}
function getValue(num1,num2,num3){
document.writeln("參數(shù)分別為:"+num1+","+num2+","+num3);
var value=setValue(num1,num2,num3);
document.write("平均值為:"+value);
}
</script>
</head>
<body>
<script type="text/javascript">
getValue(60,59,61);
</script>
</body>

image.png
4.3
4.4內(nèi)置函數(shù)
<script type="text/javascript">
var num1="123abc";
var num2="abc123";
document.write("(1)使用parseInt函數(shù)<br>");
document.write("123abc轉(zhuǎn)化結(jié)果:"+parseInt(num1)+"<br>");
document.write("abc123轉(zhuǎn)化結(jié)果:"+parseInt(num2)+"<br><br>");
var num3="123.456abc";
document.write("(2)使用parseFloat函數(shù)<br>");
document.write("123.456abc轉(zhuǎn)化結(jié)果:"+parseFloat(num3)+"<br><br>");
document.write("(3)使用isNaN函數(shù)<br>");
document.write("123.456abc轉(zhuǎn)化結(jié)果是否為NaN:"+isNaN(parseFloat(num3))+"<br>");
document.write("abc123轉(zhuǎn)化結(jié)果是否為NaN:"+isNaN(parseInt(num2))+"<br><br>");
document.write("(4)使用isFinite函數(shù)<br>");
document.write("10除以10的結(jié)果是否無窮大:"+isFinite(10/10)+"<br>");
document.write("10除以0的結(jié)果是否無窮大:"+isFinite(10/0)+"<br><br>");
document.write("(5)使用encodeURI函數(shù)<br>");
document.write("轉(zhuǎn)化為網(wǎng)絡(luò)資源地址為:"+encodeURI("http://127.0.0.1/index.html?name=測試")+"<br><br>");
document.write("(6)使用decodeURI函數(shù)<br>");
document.write("轉(zhuǎn)化為網(wǎng)絡(luò)資源地址的字符串為:"+decodeURI(encodeURI("http://127.0.0.1/index.html?name=測試"))+"<br><br>");
</script>

image.png
4.5在嵌套函數(shù)中獲取外部函數(shù)參數(shù)及全局變量的和
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var outter=300;
function add(num1,num2){
function innerAdd(){
alert("參數(shù)與全局變量的和為:"+(num1+num2+outter));
}
return innerAdd();
}
</script>
</head>
<body>
<script type="text/javascript">
add(100,200);
</script>
</body>

image.png
4.6遞歸函數(shù)取得10!的值
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function f(num){
if(num<=1){
return 1;
}else{
return f(num-1)*num;
}
}
</script>
</head>
<body>
<script type="text/javascript">
alert("10!的結(jié)果為:"+f(10));
</script>
</body>

image.png
4.7自定義函數(shù),為文本框輸入的數(shù)字取絕對(duì)值
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>為數(shù)字取絕對(duì)值</title>
<script language="javascript">
function abso(){
var num=form.num.value; //獲取文本框的值
if(isNaN(num)||num==""){
alert("請(qǐng)輸入數(shù)字");
}else{
if(num>=0){
alert(num+"的絕對(duì)值是"+num);
}else{
alert(num+"的絕對(duì)值是"+num*(-1));
}
}
}
</script>
</head>
<body>
<form name="form" method="post" action="#">
<label>請(qǐng)輸入數(shù)字:</label>
<input type="text" name="num" id="num"><br />
<input type="button" name="sub" value="提交" onclick="abso()"><p>
</form>
</body>

image.png
4.8隨機(jī)生成指定位數(shù)的驗(yàn)證碼
<head>
<title>隨機(jī)產(chǎn)生指定位數(shù)的驗(yàn)證碼</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="image/style.css" rel="stylesheet">
<script language="javascript">
function checkCode(digit){
//自動(dòng)生成驗(yàn)證碼
var result="";
for(i=0;i<parseInt(digit);i++){
result=result+(parseInt(Math.random()*10)).toString();
}
return result;
}
</script>
<script language="javascript">
function deal(){
result.innerHTML=" 產(chǎn)生的驗(yàn)證碼:"+checkCode(form1.digit.value);
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<table width="271" height="178" border="0" cellpadding="0" cellspacing="0" background="image/result.gif">
<tr>
<td valign="top"><table width="100%" height="150" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="15%" height="55"> </td>
<td width="69%" valign="bottom"><div id="result"> 產(chǎn)生的驗(yàn)證碼:</div></td>
<td width="16%"> </td>
</tr>
<tr>
<td height="68"> </td>
<td align="center">
<br>
請(qǐng)輸入要產(chǎn)生的驗(yàn)證碼的位數(shù):<br>
<br>
<input name="digit" type="text" class="wenbenkuang" id="digit" value="4">
(1-15)</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="Submit" type="button" class="go-wenbenkuang" value="生成" onClick="deal()">
<input name="Submit2" type="button" class="go-wenbenkuang" value="刷新" onClick="window.location.reload();"></td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>

image.png
跟我上機(jī):自定義一個(gè)計(jì)算產(chǎn)品價(jià)格的函數(shù)values(),有兩個(gè)參數(shù)cost和profit。代表成本和利潤。
<script language="javascript">
function values(cost,profit){
price=cost+(cost*profit);
return price;
}
document.write(values(100,0.5));
</script>