//多种调用方式————多态
// 同一个方法多种调用方式,在js中可判断传入的参数,来实现多种调用方式
// 如:定义一个add方法,
// 不传参则返回10,传一个参数则返回10+参数,传两个参数则返回两个参数相加的结果
function add(){
var arg = arguments,//获取参数
len = arg.length;//获取参数长度
switch(len){
case 0:
return 10;
break;
case 1:
return 10+arg[0];
break;
case 2:
return arg[0]+arg[1];
break;
}
}
console.log(add());//10
console.log(add(1));//11
console.log(add(1,2));//3
// 还可以将他转化为更易懂的类形式
function Add(){
function zero(){
return 10;
}
function one(num){
return 10+num;
}
function tow(num1,num2){
return num1+num2;
}
this.add = function(){
var arg = arguments,
len = arg.length;
switch(len){
case 0:
return zero();
case 1:
return one(arg[0]);
case 2:
return tow(arg[0],arg[1]);
}
}
}
// 类实例化对象
var A = new Add();
console.log(A.add());//10
console.log(A.add(1));//11
console.log(A.add(1,2));//3