你如何通过引用停止javascript分配对象?

时间:2010-07-21 16:23:12

标签: javascript date object

我正在使用date.js库。

上一个代码:

alert(incidentDate);
var deadlineDate = incidentDate;
deadlineDate.add(2).years();
alert(incidentDate);
return;

添加到deadlineDate导致incidentDate也发生了变化。一点阅读显示这是因为javascript中的对象总是通过引用分配。我找到了一个解决方法(下面),但它开始变得凌乱。肯定会有一些更简洁的方法吗?

此外,我使用的解决方法仅适用于Date对象。我该如何处理其他对象类型?

当前代码:

var deadlineDate;
deadlineDate = incidentDate.toString('yyyy-MM-dd');
alert(incidentDate);
alert(deadlineDate);
deadlineDate = Date.parse(deadlineDate);
alert(incidentDate);
alert(deadlineDate);
deadlineDate.add(2).years();
alert(incidentDate);
alert(deadlineDate);
return;

注意:所有警报仅用于调试。

1 个答案:

答案 0 :(得分:0)

正如Anurag所说,唯一的一般解决方案是cloning。但是,有一种更好的方法来编写解决方法。使用毫秒值创建一个新的日期而不是格式化字符串,然后必须解析它。