组织对象原型的更好方法是什么
What's a better way to organise the object's prototype?
这就是我尝试组织原型的方式:
但是,我必须编写一个额外的"方法"属性来访问原型的功能是相当低效的。
var Gallery = function(name) {
this.name = name;
}
Gallery.prototype.methods = {
activeCnt: 0,
inc: function() {
this.activeCnt++;
},
dec: function() {
this.activeCnt--;
},
talk: function() {
alert(this.activeCnt);
}
}
var artGallery = new Gallery('art');
var carGallery = new Gallery('car');
artGallery.methods.inc();
artGallery.methods.talk();
carGallery.methods.talk();
只需删除 methods
属性并将一个新对象分配给 Gallery
的prototype
对象。还要确保它具有一个名为 constructor
的属性,该属性指向 Gallery
。代码如下:
var Gallery = function (name) {
this.name = name;
}
Gallery.prototype = {
activeCnt: 0,
inc: function() {
this.activeCnt++;
},
dec: function() {
this.activeCnt--;
},
talk: function() {
alert(this.activeCnt);
},
constructor: Gallery
};
var artGallery = new Gallery('art');
var carGallery = new Gallery('car');
artGallery.inc();
artGallery.talk();
carGallery.talk();
相关文章:
- 在JavaScript中拆分日期字符串的更好方法是什么
- 设置嵌套对象属性的更好方法
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 将数组从javascript格式化为php的更好方法,反之亦然
- jquery:将动画绑定到滚动条位置的更好方法
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 编写if-else语句的更好方法
- 传递promise回调方法的更好方法
- 在Knockoutjs中设置计算对象的observableArray的更好方法
- 从网页获取数据的更好方法,而不是使用DOM和HTML元素
- Backbone js代码气味-嵌入子视图的更好方法
- 从数组中删除项的更好方法
- 对多维数组进行分组的更好方法
- 在node.js和express中基于路径运行不同数据库查询的更好方法
- 动态更改测试中代码覆盖率的require语句的更好方法
- 设计具有数据持久性的web应用程序的更好方法
- 选择表行的更好方法
- 在nodejs服务器上提供文件的更好方法,而不是if/else
- Javascript;Ajax——填充对象的更好方法