总结一下,对象继承的几种方式
1.构造函数绑定
function Person(){ this.speices ="人类" } function Women (name){ Person.apply(this); //or Rerson.call(this) 如果父类定义需要传参 参照apply call 传参方式 this.name = name; this.sex = "women" } console.log( new Women("cy").speices) //=> "人类" console.log( new Women("cy").constructor) //=> function Women (name)
2. prototype模式
function function Person(){ this.speices ="人类" } function Women (name){ this.name = name; this.sex = "women" } Women.prototype = new Person() Women.prototype.constructor = Women; console.log( new Women("cy").speices) //=>"人类" console.log( new Women("cy").constructor) //=> function Women (name)
3.空对象继承
function Person(){ this.speices ="人类" } function Women (name){ this.name = name; this.sex = "women" } function extend(Child, Parent) { var blank_obj = function () {}; blank_obj.prototype = Parent.prototype; Child.prototype = new blank_obj(); Child.prototype.constructor = Child; Child.uber = Parent.prototype; } extend(Women, Person)
4.非构造函数继承
var Person = {
speices:"人类",
attributes:['胎生','哺乳']
}
function deepCopy(p, c) {
var c = c || {};
for (var i in p) {
if (typeof p[i] === 'object') {
c[i] = (p[i].constructor === Array) ? [] : {};
deepCopy(p[i], c[i]);
} else {
c[i] = p[i];
}
}
return c;
}
var Women = deepCopy(Person)
Women.sex = 'women'
console.log(Women.attributes) //['胎生','哺乳']
相关推荐
Fiber.js 是来自 Linkedin 的一个轻量级的 JavaScript 对象继承模型。示例代码:// Animal base class var Animal = Fiber.extend(function() { return { // The `init` method serves as the ...
js javascript zInherit 对象 继承
本文实例讲述了js对象继承之原型链继承的用法。分享给大家供大家参考。具体分析如下: 代码如下:[removed] //定义猫的对象 var kitty = {color:’yellow’,bark:function(){alert(‘喵喵’);},climb:...
先从一个问题进行研究深入,什么是javascript对象继承? 比如我们有一个“动物”对象的构造函数。 function animal() { this.type = '动物'; } 还有一个“猫”对象的构造函数。 function cat(name,color) { ...
javascript学习笔记之js对象 继承介绍,需要的朋友可以参考下
JavaScript面向对象继承详解,js进阶高手必读,内含六部分
主要介绍了JavaScript必知必会(七)js对象继承的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
主要为大家举例介绍了js对象继承的几种模式,内容很全面,感兴趣的小伙伴们可以参考一下
我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。
js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法 js五种对象定义方法,五种继承方法
javascript创建对象、对象继承的有用方式详解_.docx
javaScript面向对象继承方法经典实现.docx
在JavaScript中继承是一个非常复杂的话题,比其他任何面向对象的语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。与它们不同,在JavaScript中要想达到传承公用成员的目的,...
NULL 博文链接:https://wenzongliang.iteye.com/blog/2163551
Uberproto是一个简单的基础对象,它为JavaScript中的ECMAScript 5样式对象继承添加了一些糖。 简而言之,这是它的作用: 轻松扩展对象 初始化方法 超级方法 混合蛋白 方法代理 占用空间小(最小约0.5Kb)并且仅...
浅谈JavaScript对象与继承_.docx