功能中的日期参数

时间:2018-10-22 09:12:25

标签: javascript date

我想将日期传递给javascript函数以进行某些操作。我在这里面临的问题是:该函数正在更改实际的日期参数,尽管它适用于局部参数。这是我提到我的问题的一个例子

var myDate = new Date();
console.log(myDate);//Result is Mon Oct 22 2018 09:40:01
function manipulate(d){
    d.setDate(d.getDate()+1);
    console.log(d);//Result is Oct 23 2018 09:40:01
    return d;
}
var result = manipulate(myDate);
console.log(result);//Result is Oct 23 2018 09:40:01 as expected.
console.log(myDate);//Result is Oct 23 2018 09:40:01. I want this to be my initial value. That is Mon Oct 22 2018 09:40:01

我猜想如果日期用作参数,则JS使用按引用传递。 我该如何解决上述问题?

此致

SAP学习者

1 个答案:

答案 0 :(得分:2)

您必须先复制

function manipulate(d){
    var s = new Date(d)
    s.setDate(s.getDate()+1);
    console.log(s);//Result is Oct 23 2018 09:40:01
    return s;
}