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运算方法时,它会根据传参不同做相应运算,当然我们讲不同运算方式封装在类里,这样代码易懂。
浙公网安备 33010602011771号