多态是指一个引用(类型)在不一样状况下的多种状态。即指同一个方法多种调用方式.算法
也能够理解成:多态是指经过指向父类的引用,来调用在不一样子类中实现的方法。函数
使用普通函数实现:this
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]; } } // test: console.log( add() ); // 10 console.log( add(5) ); // 15 console.log( add(6, 7) ); // 13
使用类的形式实现:code
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]); } } } // test: var a = new Add(); a.add(); // 10 a.add(5); // 15 a.add(6, 7); // 13