如何将对象值赋值给variables而不需要引用

我使用Node.js,我想将A的当前值分配给variablesB.当变化发生在A时,B的值不应该改变。

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

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

只需更换

 var B = A; 

 var B = new Date(A); 

如果你想使用A的价值,但是仍然希望他们彼此孤立,而不是你需要创造一个新的对象,而不是简单地引用旧的。

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

 var A = new Date(); var B = new Date(A.getTime()); A.setMonth(A.getMonth() - 1); console.log(B); 

最有效的方法(JS中的克隆对象)是使用名为Lodash的第三方实用程序库。

使用lodash你可以通过使用下面的函数简单地克隆或深入克隆(对于嵌套对象): _.clone()或_cloneDeep()

通过npm install –save lodash安装Lodash

 var _ = require(lodash) var A = new Date(); var B = _.cloneDeep(A); DP.setMonth(A.getMonth() - 1); console.log(B);// B will not change 

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