在Backbone 1.1.2中,在第279行
// Return a copy of the model's `attributes` object.
toJSON: function(options) {
return _.clone(this.attributes);
},
Run Code Online (Sandbox Code Playgroud)
选项显然没有使用,所以为什么要在那里使用它.这只是浪费的记忆.
我在这里错过了什么?
这里的每条评论是调用此代码的一种方式 - 为什么在不使用时传递选项?
toJSON: function(options) {
return this.map(function(model){ return model.toJSON(options); });
},
Run Code Online (Sandbox Code Playgroud)
它不会浪费内存,因为无论如何参数都必须可用arguments[0](选项是一个函数调用,而虚拟机必须这样做以产生副作用,或者它只是一个对象,因此它只是一个引用)。
它还可以作为超类可以实现的内容的文档参考。由于 JS 使用原型来实现其面向对象,因此如果您toJSON在超类之一中创建一个函数,它将被使用。
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |