zoukankan      html  css  js  c++  java
  • 函数

    函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更多的代码。这时我们就可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省重复输入大量代码的麻烦。

    如何定义一个函数呢?基本语法如下:

    function 函数名()
    {
         函数代码;
    }

    说明:

    1. function定义函数的关键字。

    2. "函数名"你为函数取的名字。

    3. "函数代码"替换为完成特定功能的代码。

    我们来编写一个实现两数相加的简单函数,并给函数起个有意义的名字:“add2”,代码如下:

    function add2(){
       var sum = 3 + 2;
       alert(sum);
    }

    函数调用:

    函数定义好后,是不能自动执行的,所以需调用它,只需直接在需要的位置写函数就ok了,代码如下:

    运行结果为:

    函数调用

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

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

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

     例如:

    运行结果为:

  • 相关阅读:
    js里的稀疏数组
    JS中二进制与十进制的相互转换
    【leetcode-03】给定一个字符串,请你找出其中不含有重复字符的最长子串的长度
    JavaScipt30(第二十二个案例)(主要知识点:getBoundingClientRect)
    JavaScipt30(第十八个案例)(主要知识点:Array.prototype.map)
    JavaScipt30(第十个案例)(主要知识点:选中一个数组中间相连部分进行操作的一种思路)
    JavaScipt30(第八个案例)(主要知识点:canvas)
    Lydsy2017省队十连测
    几个多项式的题
    poj3294Life Forms
  • 原文地址:https://www.cnblogs.com/pmlyc/p/6305405.html
Copyright © 2011-2022 走看看