多态
在面向对象中有一种特性叫多态,就是同一种方法的多种调用方式,在JavaScript中也可以实现,只不过是对传入的参数做判断以实现多种调用方式。
//多态
function add() {
//获取参数
var arg = arguments,
len =arg.length;
switch(len){
//如果没有参数
case 0:return 10;
//如果只有一个参数
case 1:return 10 + arg[0];
//如果有两个参数
case 2:return arg[0] +arg[1];
}
}
//测试用例
console.log(add());
console.log(add(3));
console.log(add(5,7));
也可以转化成更易懂的类形式
function Add() {
//无参数算法
function zero() {
return 10;
}
//一个参数算法
function one(num) {
return 10 + num;
}
function two(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 two(arg[0],arg[1]);
}
}
}
//实例化类
var A = new Add();
//测试
console.log(A.add());
console.log(A.add(5));
console.log(A.add(6,7));
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。