JavaScript——定义函数

定义函数

 

定义方式一

绝对值函数

1 function cl(x){
2       if (x>=0){
3           return  x;
4       }else{
5           return  -x;
6       }
7    }

一旦执行到return,代表函数结束,返回结果!

如果没有执行return,函数执行完也会返回结果,结果就是undefined!

 

定义方式二  (匿名函数)

1 var cl=function(x){
2        if (x>=0){
3            return x;
4        }else{
5            return -x;
6        }
7 }

function(x){.......}这是一个匿名函数,但是可以把结果赋值给cl ,通过cl就可以调用函数!

方式一等价于方式二!

 


调用函数

1 cl(2)    //2
2 cl(-2)   //2

参数问题:javaScript可以传任意个参数,也可以不传参数~

如果不存在参数,如何规避? 

通过手动抛出异常!

 1 var cl=function(x){
 2         //手动抛出异常来判断
 3         if(typeof x!=='number'){
 4            throw "Not a number!";
 5         }
 6         if (x>=0){
 7            return x;
 8         }else{
 9             return -x;
10         }
11    }

 

 

  arguments

arguments是一个JS免费赠送的关键字

代表传递进来的所有参数是一个数组!

 1 var cl=function(x){
 2 
 3       console.log("x=>"+x);
 4       
 5       for (var i=0; i<arguments.length;i++){
 6           console.log(arguments[i]);
 7       }
 8 
 9       if(x>=0){
10          return x;
11       }else{
12          return -x;
13       }
14   }

问题:arguments包含所有的参数,我们有时候想使用多余的参数来进行附加操作,需要排除已有的参数~

 

 

  rest

以前:

1 if (arguments.length>2){
2     for (var i=2;i<arguments.length;i++){
3          //.....
4     }
5 }

 

ES6引入新的特性,获取除了已经定义的参数之外的所有参数

1 function haha(a,b,c,...rest){
2       console.log("a=>"+a);   //参数已定义
3       console.log("b=>"+b);   //参数已定义
4       console.log(rest);      //获取未定义的参数
5   }

rest参数只能写在最后面,必须用  ...  标识。

 

上一篇:【liferay】6、可配置式cookie


下一篇:abap实现大数据-echar调用