Moment.js提到这里的数据是可变的,因此如果你说:
var a = moment('2016-01-01');
var b = a.add(1, 'week');
a.format();
"2016-01-08T00:00:00-06:00"
在不使用.clone()
的情况下天真地更改b
时,a
中的数据发生了更改
在调试过程中,我不确定错误是由我的代码逻辑还是由数据更改引起的。因此,我一直在到处滥发.clone()
,这降低了可读性。
是否有一个更改moment.js中数据的方法列表
示例:
- 假设
.add
、.subtract
等方法是安全的 - 其他方法如
.diff
如何 - 关于两个矩的等号运算符怎么样
有这样的方法的列表吗?文档非常善于显示代码可以做什么,但我很难找到代码可以做什么。
您可以使用此插件,避免垃圾邮件的克隆方法。一般来说,数据在moment.js中发生变异,通常会产生错误。
首先,我假设MomentJS文档中在Manipulate类别下列出的所有方法和所有setter都会更改您的日期。
同时,其他方法和getter不会改变你的约会。这将是我将要使用的第一条规则。当有疑问时,使用jsFiddle进行快速测试,以证明没有涉及突变。