函数适用于使用切片的参数

 黄镇郁皓伟嘉惟 发布于 2023-02-12 21:22

看一下本教程,我在一条评论中看到了以下代码建议:

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))
                }
            )
        }

但这条线callback.apply(null,[].slice.call(arguments))对我来说很奇怪.

为什么不callback.apply(null, arguments)呢:?因为我不喜欢,当我不理解我用这个小提琴玩的东西时,要理解slice那里的功能需要.但它给了我相同的结果,我仍然没有得到它.

谁知道为什么slice需要?

1 个回答
  • 你并不真的需要它,传递argumentsapply直接罚款.

    它被指定在EcmaScript 3中被允许,并且EcmaScript 5甚至允许任何类似于数组的对象,而不仅仅是数组和参数对象.也许它需要与早期或有缺陷的JS实现向后兼容.另外,(正如你从其他答案中看到的),有些人不知道这个事实,并认为他们需要传递实际的数组 - 所以他们是不必要的小心.

    2023-02-12 21:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有