有的时候,我们把实现同一个功能的代码抽取出来作为单独的一部分。这样的代码就称为函数(方法)
javascript的定义方式有三种:
第一种:
function 函数名(参数列表){
//函数体
}
第二种:
var 函数名=function(){
//函数名
}
第三种:
var 函数名=new Function(param1,param2);
param1(参数一):参数列表
param2(参数二):函数体
案例:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>js函数</title>
</head>
<body>
<script type="text/javascript">
//第一种定义方式:求两个数的和
function add(a,b){
document.write(a+b);
}
//第二种:求最大值
var getMax=function(a,b){
var max=a>b?a:b;
return max;
}
//第三种:打印99乘法表
var param1="";
var param2="for(var i=1;i<=9;i++){for(var j=1;j<=i;j++){document.write(j+'*'+i+'='+j*i+' ');}document.write('<br/>');}"
var print99=new Function(param1,param2);
//调用函数
add(5,4)//有参数,没有返回值
document.write("<hr color='red'/>");
var max=getMax(10,5);//有参数,有返回值,因为有返回值所以要定义一个变量去接收
document.write(max);//打印结果
document.write("<hr color='red'/>");
print99();//没有参数,没有返回值
</script>
</body>
</html>
9
10
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
从案例里我们可以知道:
1.不管是什么函数都需要调用的,如果不调用的话,就不会执行函数。调用的途径是通过函数名进行调用。
2.函数可以接收参数,也可以不接收参数。如果接收参数的话,要给出形参的变量,但是不需要定义它的类型,这是和java的一个很重要的区别。
3.函数可以是返回结果,也可以不返回结果。如果返回的话需要关键字return进行返回。调用函数的时候,需要定义一个变量来接收这个结果。
另外,我感觉方式三定义函数有点别扭,而且程序的可读性很差。一大堆的函数体就堆在一起。