我正在使用javascript setDate
方法执行一些日期操作,因此我的originalDate
值丢失了。这是我正在尝试的:
var originalDate = new Date();
var newDate = originalDate;
newDate.setDate(15);
我希望
setDate()
应该只更新newDate
变量,而不是originalDate。我怎样才能做到这一点。谢谢。
最佳答案
您的问题是您将originalDate
的引用分配给newDate
,因此它们都指向同一Date
对象。
另一种可能性:
Java脚本
function cloneDate(dateObject) {
return new Date(dateObject.valueOf());
}
var originalDate = new Date(),
newDate = cloneDate(originalDate);
newDate.setDate(15);
console.log(originalDate);
console.log(newDate);
输出量
2014年2月25日,星期二,格林尼治标准时间+0100(CET)
2014年2月15日星期六7:13:53 GMT + 0100(CET)
在jsFiddle
这将创建与
newDate
具有相同值的originalDate
,但是现在它们是2个不同的对象。
关于javascript - setDate方法覆盖原始日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22005885/