Javascript 按值而不是参照设置对象

Javascript 按值而不是参照设置对象,javascript,Javascript,我试图在JS中初始化一个var,其中包含来自另一个JS对象的日期,但无论我试图获取对旧对象(指针)的引用,我都不需要更改它 var lastActionDate = new Date(mainLastActionDate); var nowDate = new Date(); var tmpLastActionDate = lastActionDate; if ((tmpLastActionDate.setDate(tmpLastActionDate.getDate() + 7)) >

我试图在JS中初始化一个var,其中包含来自另一个JS对象的日期,但无论我试图获取对旧对象(指针)的引用,我都不需要更改它

var lastActionDate = new Date(mainLastActionDate);
var nowDate = new Date();
var tmpLastActionDate = lastActionDate;

if ((tmpLastActionDate.setDate(tmpLastActionDate.getDate() + 7)) > nowDate)
最后一行是有问题的一行。我认为lastActionDate不应该被更改,我需要它与旧日期保持一致,但它随着tmpLastActionDate而更改,我猜是因为它是一个指针

如何通过值而不是引用来设置日期对象?

尝试以下方法:

d=new Date()
e=new Date(d.valueOf())
试试这个:

d=new Date()
e=new Date(d.valueOf())

您必须克隆原始日期对象。 您可以使用以下方法:

var date = new Date();
var copiedDate = new Date(date.getTime());

参考:

您必须克隆原始日期对象。 您可以使用以下方法:

var date = new Date();
var copiedDate = new Date(date.getTime());

参考资料:

你能帮我发一些代码吗?我真的不明白你想在这里实现什么…使用一个副本:
var tmpLastActionDate=new Date(lastActionDate)var tmpLastActionDate=new Date(lastActionDate)非常简单,谢谢你,5分钟后我会把你的答案标记为正确答案…非常简单,valueOf,愚蠢的我:-)@camus你可以做
e-新日期(d)
,不需要
valueOf
getTime
。我想我已经试过了,但没用,不知道为什么……但是这个有效,10xSo简单,谢谢你,5分钟后我会把你的答案标记为正确答案……太简单了,valueOf,愚蠢的我:-)@camus你可以做
e-新日期(d)
,不需要
valueOf
getTime
。我想我已经试过了,但没有成功,不知道为什么……但是这个有效,10倍