我重写了Backbone Model toJSON来重新格式化一些数据,我看到_.clone()很多,而且我已经看到我需要克隆this.attributes。我不完全确定为什么需要克隆,有人可以解释一下吗?
JS
toJSON: function()
var attributes = _.clone(this.attributes);
//...
}
答案 0 :(得分:1)
由于在javascript,
中通过引用传递对象如果你这样做:
var attributes = this.attributes;
您对attributes
所做的任何更改都会反映在实际模型中。
大部分时间这不是理想的行为,因此使用_.clone
或类似的实用方法