如何在没有引用的情况下将对象值赋给变量

时间:2016-05-03 05:17:34

标签: javascript node.js

我使用Node.js并且我想将A的当前值赋给变量B.当A发生变化时,B的值不应该改变。

var A = new Date();
var B = A;
DP.setMonth(A.getMonth() - 1);
console.log(B); //get A result

3 个答案:

答案 0 :(得分:2)

  

我使用Node.js,我想将A的当前值赋给变量   B.当A发生变化时,B的值不应改变。

简单地替换

var B = A;

var B = new Date(A);

如果你想使用A的值,但仍然希望它们彼此隔离,而不是只需要创建一个新对象而不是简单地引用旧对象。

答案 1 :(得分:2)

您可以创建一个新的Date对象并使用A的值对其进行播种。

var A = new Date();
var B = new Date(A.getTime());

A.setMonth(A.getMonth() - 1);

console.log(B);

答案 2 :(得分:1)

执行此操作的最有效方法(在JS中克隆对象)是使用名为here的第三方实用程序库。

使用lodash,您可以使用以下函数简单地克隆或深度克隆(对于嵌套对象): Lodash_.clone()

npm install --save lodash

安装Lodash
{{1}}

您可以使用这些方法克隆大多数JS对象。 Lodash针对性能进行了高度优化,因此使用Lodash比手动克隆每个键更好。 Lodash还提供其他非常有用的功能。