4、多种调用方式 ---多态

多态,就是同一个方法多种调用方式。在javascript中也是可以实现的,只不过要对传入的参数做判断以实现多种调用方式,比如我们定义一个方法add方法,如果不传入参数则返回10,传入一个参数返回10+,传入两个参数返回两个参数之和。

 

 1 //多态
 2 function add(){
 3     //获取参数
 4     var arg = arguments,
 5     //获取参数长度
 6     len = arg.length;
 7     switch(len){
 8         //如果没有参数
 9         case 0:
10            return 10;
11            break;
12         case 1 :
13         //一个参数
14            return 10 + arg[0];
15            break;   
16         case 2 :
17         //两个参数
18            return arg[0] + arg[1];
19            break;
20     }
21 }

 

1 //测试用类
2 
3 console.log(add());   //10
4 console.log(add(5));  //15
5 console.log(add(10)); //20

 

"也可以像下面这种形式"

 

 1 function add(){
 2     //无参数
 3     function zero(){
 4         return 10;
 5     }
 6     //一个参数
 7     function one(one){
 8         return 10+ num;
 9     }
10     //两个参数
11     function two(num1,num2){
12         return num1 + num2;
13     }
14     //添加共有方法
15     this.add = function(){
16         var arg = arguments;
17         len = arg.length;
18         switch(len){
19             case 0:
20                 return zero();
21                 break;
22             case 1:
23                 return one(arg[0]);
24                 break;
25             case 2:
26                 return two(arg[0],arg[1]);
27                 return;        
28         }
29     }
30 }
31 
32 //实例化
33 var a  = new add();
34 //测试
35 console.log(a.add()); // 10
36 console.log(a.add(5)); //15
37 console.log(a.add(6,4)); //10

 

对于多态,我们调用add运算方法时,它会根据传参不同做相应运算,当然我们讲不同运算方式封装在类里,这样代码易懂。

 

posted on 2016-09-01 08:03  Mc525  阅读(208)  评论(0)    收藏  举报

导航