let*_*ves 14 javascript arrays function slice angularjs
看一下本教程,我在一条评论中看到了以下代码建议:
init:function(callback){
var that =this ;
return $http.jsonp(this.url).success(
function(data){
that.availableGenres = that.getGenres(data);
that.results = that.getResults(data);
if(callback)callback.apply(null,[].slice.call(arguments))
}
)
}
Run Code Online (Sandbox Code Playgroud)
但这条线callback.apply(null,[].slice.call(arguments))
对我来说很奇怪.
为什么不callback.apply(null, arguments)
呢:?因为我不喜欢,当我不理解我用这个小提琴玩的东西时,要理解slice
那里的功能需要.但它给了我相同的结果,我仍然没有得到它.
谁知道为什么slice
需要?
Ber*_*rgi 28
你并不真的需要它,传递arguments
到apply
直接罚款.
它被指定在EcmaScript 3中被允许,并且EcmaScript 5甚至允许任何类似于数组的对象,而不仅仅是数组和参数对象.也许它需要与早期或有缺陷的JS实现向后兼容.另外,(正如你从其他答案中看到的),有些人不知道这个事实,并认为他们需要传递实际的数组 - 所以他们是不必要的小心.
归档时间: |
|
查看次数: |
8751 次 |
最近记录: |