多态
JavaScript中是可以实现多态的
很好理解,直接上代码
function Add() { let args = arguments let len = args.length switch(len){ case 0: return 10 case 1: return 10 + args[0] case 2: return 10 + args[0] + args[1] } } Add() // 10 Add(1) // 11 Add(1, 3) // 14
或者采用另一种写法
function Add2() { function zero() { return 10 } function one(num) { return 10 + num } function two(num1, num2) { return 10 + num1 + num2 } this.add = function () { let args = arguments let len = args.length switch(len){ case 0: return zero() case 1: return one(args[0]) case 2: return two(args[0], args[1]) } } } const A = new Add2() A.Add() // 10 A.Add(1) // 11 A.Add(1, 3) // 14