JavaScript程序基础(九)函数的参数、返回值和嵌套

一、函数的参数
参数是函数的控制变量,有了参数,就可以控制一个函数有不同的运行结果。
这是灵活使用函数的前提,下面看两个函数的定义。
函数定义示范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>

三、函数的嵌套

  1. 函数的嵌套定义
    函数的嵌套定义就是在函数内部再定义其他的函数。示例:
function outFun(){
        function inFun(x,y){
                alert(x+y);
        }
        inFun(1,5);
}
outFun();

函数的嵌套定义,会使程序的可读性降低。

  1. 函数的嵌套调用
    在JavaScript中,允许在一个函数的函数体中对另一个函数进行调用。示例:
function a(){
        alert(“我爱JavaScript");
}
function b(){
        a();
}
b();

嵌套调用已经成为编程的基本形式。

  1. 嵌套函数的应用。通过函数的嵌套调用计算3个参数的最大值。

<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>

四、实例训练

  1. 编写函数,计算n! 并输出显示5!结果。

<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>
  1. 编写函数,判断输入的密码是否符合注册要求:总长度在6-20之间。

<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>

你可能感兴趣的:(javascript,javascript,前端,html)