Javascript在原型中声明方法时设置基对象

罗马 罗马

我读到在原型中声明对象方法是一种很好的方法,因为它可以节省内存并允许随时更改所有对象的实现。但是当我需要为使用原型方法声明的对象设置基对象时,我需要做什么?例子:

function Animal() {
   this.age = 0;
   this.weight = 0;
   //other properties
}

Animal.prototype = {
   //some methods for Animal
}


function Dog() {
   //properties for Dog
}

Dog.prototype = {
   //some methods for Dog
}

那么,如何将 Animal 设置为 Dog 的基类(对象)(因为 Dog 中的原型属性是作为方法的自定义对象实现的)?

发光

ES5 版本(仍然是最常见的,但我不推荐它 - 请参阅 ES6 版本)

根据这里的这篇文章您需要像这样使用 Object.create:

function Animal() {}
Animal.prototype = {};

function Dog() {}
Dog.prototype = Object.create( Animal.prototype );

另请参阅Object.assign 的此解决方案(遗憾的是 IE 不支持它)

ES6版本

class Animal {
  // all your methods come in here. No more prototype needed.
}

class Dog extends Animal {

}

尽管大多数浏览器还不完全支持 ES6,但您已经可以使用它了。使用babel来转译你的 JS。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Javascript中声明此对象的方法时,如何正确引用该对象上设置的方法?

来自分类Dev

在javaScript中声明函数时使用的原型是什么

来自分类Dev

当您在javascript中声明对象时,如何设置与另一个对象相关的属性

来自分类Dev

Javascript未设置原型对象中未定义的属性

来自分类Dev

覆盖对象声明中的toString原型

来自分类Dev

Javascript中的对象原型属性

来自分类Dev

Javascript中的对象原型属性

来自分类Dev

javascript中对象的原型属性

来自分类Dev

从JavaScript动画对象原型设置变量

来自分类Dev

Javascript原型与对象中的对象的继承

来自分类Dev

调用本机原型方法时扩展或继承对象原型

来自分类Dev

调用本机原型方法时扩展或继承对象原型

来自分类Dev

从主类调用JavaScript原型对象方法

来自分类Dev

从主类调用javascript原型对象方法

来自分类Dev

原型方法中的“ this”不总是指对象本身的原型吗?

来自分类Dev

Javascript中的Function对象的原型是什么?

来自分类Dev

在Javascript中向对象添加原型

来自分类Dev

在JavaScript / jQuery中对对象原型方法进行回调的明智方法?

来自分类Dev

在JavaScript类中调用父方法,但stll可以访问对象实例内部的原型方法吗?

来自分类Dev

使用原型时从类中获取方法

来自分类Dev

在所有全局对象原型上设置方法

来自分类Dev

javascript函数对象原型

来自分类Dev

访问Javascript对象原型

来自分类Dev

访问javascript对象的原型

来自分类Dev

JavaScript对象原型中毒

来自分类Dev

对象的javascript原型

来自分类Dev

Javascript 对象的原型属性

来自分类Dev

JavaScript中的构造方法和原型

来自分类Dev

在 javascript 中编辑原型方法 .push()

Related 相关文章

热门标签

归档