JavaScript面向对象——实现多态
2018-03-18 22:28
519 查看
JavaScript面向对象——JS实现多态
学过其他面向对象编程语言的伙伴应该都知道有种特性叫多态,那么在JavaScript如何实现?这个应该比较简单,对传入的参数做判断实现多种调用方式就行,直接放例子好了。 function add() {
var arg = arguments,
len = arguments.length
switch (len) {
case 0:
return 10
case 1:
return 10 + arg[0]
case 2:
return arg[0] + arg[1]
}
}
// test
console.log(add())
console.log(add(7))
console.log(add(7, 9))结果:
也可写成类的形式: 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 = arguments.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()
console.log(a.add())
console.log(a.add(7))
console.log(a.add(7, 9))结果:
是的,就这样实现了~ ~ ~
学过其他面向对象编程语言的伙伴应该都知道有种特性叫多态,那么在JavaScript如何实现?这个应该比较简单,对传入的参数做判断实现多种调用方式就行,直接放例子好了。 function add() {
var arg = arguments,
len = arguments.length
switch (len) {
case 0:
return 10
case 1:
return 10 + arg[0]
case 2:
return arg[0] + arg[1]
}
}
// test
console.log(add())
console.log(add(7))
console.log(add(7, 9))结果:
也可写成类的形式: 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 = arguments.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()
console.log(a.add())
console.log(a.add(7))
console.log(a.add(7, 9))结果:
是的,就这样实现了~ ~ ~
相关文章推荐
- JavaScript 面向对象(封装、继承、多态)多种方式实现完全总结
- JavaScript面向对象-基于函数伪造的方式实现继承
- 用Javascript实现面向对象编程(封装,抽象,继承,多态)
- JavaScript面向对象-基于原型链和函数伪装组合的方式实现继承
- javaScript采用面向对象的方式实现实现拖拽
- javascript 扫雷(从简单的实现到面向对象的设计)
- javascript面向对象:继承、多态
- javaScript面向对象继承方法实现
- JavaScript的相关继承笔记以及使用外部库实现JavaScript的面向对象特性
- Javascript面向对象实现的几种方法
- javaScript面向对象的方法实现继承:call方法
- javascript 面向对象的继承的实现
- 不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
- 学习javascript面向对象 javascript实现继承的方式
- 浅谈javascript的面向对象(一)如何实现类
- C#面向对象(三)接口实现多态
- javascript 中的面向对象实现 如何封装
- JavaScript 利用prototype原型实现封装继承多态
- 软件设计本质论(Essential Design) —白话面向对象 (转注:关于c语言实现封装继承多态的一堆博文)
- javascript实现面向对象的继承