多態是指一個引用(類型)在不一樣狀況下的多種狀態。即指同一個方法多種調用方式.算法
也能夠理解成:多態是指經過指向父類的引用,來調用在不一樣子類中實現的方法。函數
使用普通函數實現: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