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