逆战班:函数

函数是封装了一段可被重复调用执行的代码块,通过此代码块可以实现大量代码的重复使用。

函数的声明

function 函数名(){
             
       }

函数表达式:

使用function声明函数,但未指定函数名,将匿名函数赋予一个变量。

var fun = function() {
 
        }

函数的调用:

函数表达式可直接在函数后加括号调用。

函数名();

声明函数本身是不会执行代码的,只有在调用函数时才会执行函数体代码。
函数的封装时根据需求实现的,讲不一样的提取出来当作参数。把一个或者多个功能通过函数的方式封装起来。

函数的参数

分为形参与实参

function 函数名( 形参1,形参2){

           }
函数名(实参1,实参2);

在声明函数的小括号里的时形参(形式上的参数)。函数调用的小括号里的是实参(实际的参数)。
在函数调用的过程中是将函数的实参传递给形参。
函数的参数不限制,根据实际使用,多个参数之间使用逗号隔开。

//例子:一个求两数之间和的函数
//编写一个函数,计算两个数字的和差积商
     var a1=prompt("输入第一个数");
     var a2=prompt("输入第二个数");
     var a3=prompt("输入你要的运算符");
     a1=Number(a1);
     a2=Number(a2);
     function sum(a,b){
        console.log(a+b);       
     }
     sum(a1,a2);
如果形参与实参的个数不匹配的情况:
1实参的个数多于形参:

则只取到形参的个数,剩下的实参不参与。
在这里插入图片描述在这里插入图片描述

2实参的个数小于形参:

形参可以看作一个没被声明的变量 ,所以一个变量没有接受值,结果变成undefined
在这里插入图片描述在这里插入图片描述
此时实参2传递给形参a,形参b没有接受值,则变为undefined。
所以2+undefined=NaN。

3 实参等于形参的个数

则正常输出结果。
在这里插入图片描述在这里插入图片描述

函数的返回值

function 函数名( 形参1){
     	 return 需要返回的结果;
      }

函数是实现某些功能,最终的结果需要返回给函数的调用者函数名()通过return实现的
只要函数遇到return就把后面的结果返回给函数的调用者。函数名()等于return的结果。
return只能返回一个值,如果用逗号隔开多个值以最后一个为准。
return是终止函数,后面的代码不会被执行。函数体中,只要执行到return,无论在什么词法环境中,程序结束
如果函数没有return,则返回undefined。

arguments的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript中,arguments实际上是当前函数的一个内置对象,所有的函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

arguments相当于一个伪数组

当实参多于形参时,因为arguments对象中存储了传递的所有实参。
我们可以输出arguments的长度。

 function sum(a,b){
         
          console.log(arguments[4]);
          console.log(arguments.length);

        }
        sum(2,3,4,5,6,7,8);

其中arguments相当于一个伪数组,所以arguments的下标时从0开始的, 我们给了实参sum(2,3,4,5,6,7,8);

          arguments[0];
          arguments[1];
          arguments[2];
          arguments[3];
          arguments[4];
          arguments[5];
          arguments[6]; 
          arguments[7];

可以以这种方式分别引用他们。
所以长度为7 下标时从0开始的,所以arguments[ 4 ]=6;

例题:我们可以遍历所有参数求和
 function add() {
           var sum =0,
           len = arguments.length;
               for(var i=0; i<len; i++){

                   sum += arguments[i];
              }
               return sum;
        }
       add()                          
       add(1)                         
       add(1,2,3,4); 

在这里插入图片描述

发布了4 篇原创文章 · 获赞 8 · 访问量 143

猜你喜欢

转载自blog.csdn.net/sheizai/article/details/104587930