在原型.js中复制构造函数
copy constructor in prototype.js
在原型中.js您可以创建类
,例如:var MyClass = Class.create(
{
initialize: function (par1, par2)
{
this.data = $R(par1, par2).toArray();
}
});
并实例化它们
var myObj = new MyClass(1, 7000);
现在,如何复制此对象?以下方法不起作用:
var myObj2 = MyObj.clone();
在我的特定情况下,我只需要一个浅拷贝,即实例的属性可以引用相同的对象。定义复制构造函数的某种方法肯定是最通用的选择。
这可能吗?(最好不依赖原型.js内部结构)
您可以使用
Prototype 的 Object.extend
(或本机 ES6 Object.assign
)将属性复制到类的新实例上:
var MyClass = Class.create({
initialize: function (par1, par2) {
this.data = $R(par1, par2).toArray();
},
clone: function() {
return Object.extend(Object.create(Object.getPrototypeOf(this)), this);
}
});
相关文章:
- ES6构造函数返回基类的实例
- 使用Google Visualization动态调用构造函数
- javascript中对象构造函数中的var属性与this.properties
- 理解typescript中的构造函数接口
- 为什么构造函数不是构造函数
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 拦截对构造函数的调用
- 使用闭包共享构造函数参数
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 从js引擎的角度来看闭包和构造函数是如何工作的
- 如何使用此从对象访问构造函数
- Javascript:为什么是构造函数's __proto__属性Empty(){}
- 当一个重要的构造函数参数丢失时应该发生什么
- Chrome Javascript日期构造函数错误
- 如何使用构造函数's的输出,以便将值插入到对象中
- 为什么在调用父构造函数时在[]中发送数据
- 构造函数函数闭包变量
- 在原型.js中复制构造函数
- 使用Object.create()复制构造函数和new
- 如何在不调用构造函数的情况下复制对象及其原型链?