为什么我总是需要在Backbone中克隆模型属性?

时间:2015-11-20 10:49:34

标签: javascript backbone.js

我重写了Backbone Model toJSON来重新格式化一些数据,我看到_.clone()很多,而且我已经看到我需要克隆this.attributes。我不完全确定为什么需要克隆,有人可以解释一下吗?

JS

toJSON: function()
    var attributes = _.clone(this.attributes);

    //...
}

1 个答案:

答案 0 :(得分:1)

由于在

中通过引用传递对象

如果你这样做:

var attributes = this.attributes;

您对attributes所做的任何更改都会反映在实际模型中。

大部分时间这不是理想的行为,因此使用_.clone或类似的实用方法