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