js中的函数

来源:互联网 发布:php模板引擎与java 编辑:程序博客网 时间:2024/06/02 12:51

定义函数

如何定义一个函数呢?看看下面的格式:

function  函数名( )
{
     函数体;
}
function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能的代码。

例子:编写一个函数,实现二个数的差,函数名为sub2

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>定义函数</title>
<script type="text/javascript">
 function  sub2()                     //定义函数
 {
   sub=5-2;
   alert("5和2的差:"+sub);
 }
</script>
</head>
<body>
<form>
    <input type="button" value="点击我" onclick="sub2()" />
</form>
</body>
</html>

输出为:

函数调用

函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名。

第一种情况:在<script>标签内调用。

  <script type="text/javascript">
    function add2()
    {
         sum = 1 + 1;
         alert(sum);
    }
  add2();//调用函数,直接写函数名。
</SCRIPT>

第二种情况:在HTML文件中调用,如通过点击按钮后调用定义好的函数。

<html>
<head>
<script type="text/javascript">
   function add2()
   {
         sum = 5 + 6;
         alert(sum);
   }
</script>
</head>
<body>
<form>
<input type="button" value="click it" onclick="add2()">  //按钮,onclick点击事件,直接写函数名
</form>
</body>
</html>

有参数的函数

上节中add2()函数不能实现任意指定两数相加。其实,定义函数还可以如下格式:

function 函数名(参数1,参数2)
{
     函数代码
}

注意:参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开。

按照这个格式,函数实现任意两个数的和应该写成:

function add2(x,y)
{
   sum = x + y;
   document.write(sum);
}

x和y则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。

例如,add2(3,4)会求3+4的和,add2(60,20)则会求出60和20的和。

返回值的函数

思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢?

我们只要把"document.write(sum)"这行改成如下代码:

function add2(x,y)
{
   sum = x + y;
   return sum; //返回函数值,return后面的值叫做返回值。
}

还可以通过变量存储调用函数的返回值,代码如下:

result = add2(3,4);//语句执行后,result变量中的值为7。

注意:函数中参数和返回值不只是数字,还可以是字符串等其它类型。 

编程练习

使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数

<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function bigger(num1, num2) {
    return num1 > num2 ? num1 : num2;
}
//调用函数,实现下面两组数中,返回较大值。
  document.write(" 5 和 4 的较大值是:"+bigger(5,4)+"<br>");
  document.write(" 6 和 3 的较大值是:"+bigger(6,3) ); 
</script>
</head>
<body>
</body>
</html>


0 0