一个对象没有某些属性和方法,另一个对象有,拿过来使用,就是继承
继承的实现方式
混入式继承
1 | var obj = {}; |
原型继承
- 通过修改原型实现的继承 就是原型继承
通过构造函数创建出来的对象继承自构造函数的原型对象
1 | var human = { |
原型继承的方式
- 通过混入的方式给原型添加属性和方法
1 | //Person.prototype |
- 修改原型对象
1 | Person.prototype.maimeng = function (){ |
- 替换原型对象
1 | Person.prototype = human; |
经典继承
《JavaScript语言精粹》
- 调用一个方法,就能实现继承
var obj1 = Object.create(obj)
- 创建出来一个新的继承自参数
obj
的对象obj1
- 其实内部使用的就是原型继承
- ES5才支持的这个方法 需要考虑兼容性问题
1 | var human = { |
处理经典继承的兼容性问题
1 | if(Object.create){ |
继承的实际应用
扩展内置对象
扩展
string
的方法trim()
1 | //$.trim() |