【发布时间】:2015-05-11 20:21:58
【问题描述】:
我们使用函数式构造器(Douglas Crockford 的函数式继承模式)并且只复制属性来验证它们。代码是这样的。
var test= function(TestSpec){
var thattest = {};
thattest.begindate = TestSpec.begindate;
thattest.getBegindate = function(){
return thattest.begindate;
};
return thattest;
}
//这是我最初尝试复制的属性
var copy = $.extend(true, {}, test )
console.log(copy);
_.each(copy, function(c) {
console.log('[' + c + ']');
});
如何只复制属性?我正在寻找一种使用功能样式将属性复制到另一个对象的方法。 如果需要,我们可以使用 underscore.js 或 lodash。
【问题讨论】:
-
定义“属性”。您是指不引用函数的属性吗?
-
不清楚您要达到的目标。特别是
$.extend(true, {}, test)看起来并没有什么特别的意义。 -
几分钟前我问过它:-) 我们只复制属性而不是函数。代码到处重复,我们有很多函数式构造函数。
-
@Roamer 我一直在尝试使用 JQuery,因为我正在寻找一种简洁的方式来做到这一点。我还想尝试使用下划线或 lodash 的功能样式。
-
还是不清楚。 “函数式构造函数”是什么意思?你想用/对它们做什么?
标签: jquery underscore.js lodash