二、JavaScript语言--JS基础--JavaScript进阶篇--函数

时间:2022-05-15 19:37:53

1、什么是函数

  函数的作用,可以写一次代码,然后反复地重用这个代码。

  如:我们要完成多组数和的功能。

  var sum;
  sum = 3+2;
  alert(sum);   sum=7+8 ;
  alert(sum);
  
  .... //不停重复两行代码

  如果要实现8组数的和,就需要16行代码,实现的越多,代码行也就越多。所以我们可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省去重复输入大量代码的麻烦。

  使用函数完成:

  function add2(a,b){
  sum = a + b;
   alert(sum);
  } // 只需写一次就可以   add2(3,2);
  add2(7,8);
  .... //只需调用函数就可以

2、如何定义函数

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

  function  函数名( )
  {
   函数体;
  }

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

  我们完成对两个数求和并显示结果的功能。并给函数起个有意义的名字:“add2”,代码如下:

  <script type="text/javascript">
   function add2(){
   sum = 3 + 2;
   alert(sum);
  }
   ​add2();
  </script>

  结果: 

  二、JavaScript语言--JS基础--JavaScript进阶篇--函数

3、函数调用

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

  第一种情况:在<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>

4、有参数的函数

  上节中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的和。

5、返回值的函数

  思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢?
  我们只要把"document.write(sum)"这行改成如下代码:
  function add2(x,y)
  {
     sum = x + y;
     return sum; //返回函数值,return后面的值叫做返回值。
  }
  还可以通过变量存储调用函数的返回值,代码如下:
  result = add2(3,4);//语句执行后,result变量中的值为7。
  注意:函数中参数和返回值不只是数字,还可以是字符串等其它类型。

案例一

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

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title> <script type="text/javascript"> function add(x,y){
if(x>y){return x}
else if(x<y){return y}
else if(x=y){return x&&y};} document.write(" 5 和 4 的较大值是:"+add(4,5)+"<br />");
document.write(" 6 和 3 的较大值是:"+add(6,3) ); </script>
</head>
<body>
</body>
</html>