一、函数的参数
参数是函数的控制变量,有了参数,就可以控制一个函数有不同的运行结果。
这是灵活使用函数的前提,下面看两个函数的定义。
函数定义示范1
function hello(){
document.write("你好");
}
//调用
hello();
hello();
此时,hello()函数没有参数,每次执行的结果完全相同,都是在网页上输出"你好"。
函数定义示范2
为了函数更加灵活,需要使用参数。通过参数,每次使用函数时,引入的数据不同,执行结果不同。
function hello(str){
document.write(str);
}
//调用
hello(“早上好”);
hello(“下午好”);
此时,hello()函数有str参数,每次执行的结果不一定相同,根据str传入的内容在网页上输出。
为了更好的理解参数,来看一个数学方程式。
f(x)=3.14 x2
这个方程用于计算圆的周长,x代表任何一个半径值,它就是一个参数。
实际计算一个圆的周长时,必须给参数x一个具体的值,才能算出具体的圆周长。
对应的,函数:
function hello(n){
var s=3.14*2*n;
document.write(s);
}
hello(5); //计算半径为5的圆周长
hello(3); //计算半径为3的圆周长
编程中的函数与参数的概念就来源于数学中的函数方程。参照已知的东西去理解新的知识会更容易,也更深刻。
下面,完整演示如何使用函数的参数。
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<body>
<script type="text/javascript">
function show(bookname, author){
alert(bookname+author);
}
show("西游记", "吴承恩"); //调用函数并传递参数
script>
body>
html>
二、函数的返回值
函数是一个自定义的功能模块,在执行后,如果有数据要反馈给调用者,就需要用到return关键字。
函数定义的格式:
function 函数名([参数 1, 参数 2,……]){
语句
[return 返回值]
}
函数体内return可有可无,如果没有return语句,就表明函数没有数据结果返还给它的调用者。如果使用了return语句,就表明要把一个数据结果返还给函数的调用者。
下面通过一个示例来理解:
function sum(a, b){
return a+b;
}
定义函数时,说明要返回数值。
接下来,调用函数时,a+b的计算结果被自动返还给调用者。此时,需要用一个变量接收返回值;否则,返回值不起作用。这里通过赋值形式,将sum()函数的返回结果保存在变量a中
var a=sum(5, 7);
下面,完整演示函数返回值的简单应用。本实例主要通过函数的返回值判断两个数的大小。
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<body>
<script type="text/javascript">
//定义函数
function compare(x, y){
if(x>y){
return true;
}else{
return false;
}
}
//调用函数并传递参数值
var result = compare(10,20);
if(result){
alert("第一个数大于第二个数");
}else{
alert("第一个数小于第二个数");
}
script>
body>
html>
三、函数的嵌套
function outFun(){
function inFun(x,y){
alert(x+y);
}
inFun(1,5);
}
outFun();
函数的嵌套定义,会使程序的可读性降低。
function a(){
alert(“我爱JavaScript");
}
function b(){
a();
}
b();
嵌套调用已经成为编程的基本形式。
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<body>
<script type="text/javascript">
function compare(x,y){
if(x>y){
return true;
}else{
return false;
}
}
function max(x, y, z){
var maxValue=0;
maxValue=x;
if(!compare(maxValue,y)){ maxValue=y; }
if(!compare(maxValue,z)){ maxValue=z; }
return maxValue;
}
alert(max(4,6,1));
script>
body>
html>
四、实例训练
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<body>
<script type="text/javascript">
function compute(n){
var sum=1;
for(var i=1;i<=n;i++)
{
sum*=i;
}
return sum;
}
var s=compute(5);
document.write(s);
script>
body>
html>
<html>
<head>
<meta charset="utf-8" />
<title>title>
head>
<body>
<script type="text/javascript">
function checkpwd(pwd){
var n=String(pwd).length;
if(n>=6 && n<=20){
return true;
}else{
return false;
}
}
function btnCheck(){
var strpwd=document.getElementById("mypwd").value;
var checkResult=checkpwd(strpwd);
if(checkResult==true){
alert("符合注册要求");
}else{
alert("不符合注册要求");
}
}
script>
请输入密码:
<input type="text" name="" id="mypwd" value="" />
<input type="button" name="" id="mybtn" value="验证" onclick="btnCheck()" />
body>
html>