【发布时间】:2012-02-22 11:41:56
【问题描述】:
我正在使用 Backbone.js,并且在覆盖集合的 add 方法中,我尝试使用以下方式复制带有 slice 的数组:
var modelsBefore = this.models.slice(0);
console.log('COPIED', modelsBefore, this.models);
但复制似乎不起作用,这是我的(铬)日志显示的内容:
COPIED [] [child]
知道是什么原因造成的吗?
编辑:
这是一个重现问题的 jsfiddle:http://jsfiddle.net/hYDbw/5/
【问题讨论】:
-
为什么不将数组存储在另一个变量中?
-
为什么你没有在
slice()中设置任何参数 -
@Sarfraz:这就是他想要做的......
-
@Sarfraz:如果他只是将它分配给另一个变量,那么两者都指向同一个数组。
-
参数是非可选的(即使您的特定实现碰巧以其他方式工作,在其当前版本和配置中,在当前日期和您当前位置)。遵循记录在案的 API,而不是纯粹的机会