首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dropzone.js:__slice = [].slice

dropzone.js:__slice = [].slice
EN

Stack Overflow用户
提问于 2016-11-26 11:20:31
回答 1查看 104关注 0票数 4

我正在努力弄清楚,恩育的奇妙的dropzone.js的至少一部分。我对JavaScript的思路和原型范式相当熟悉。在第四行有一行代码,我想知道它做什么,为什么要使用这样的一行。这一行看上去如下:

代码语言:javascript
复制
var __slice = [].slice

我是否正确地理解了,这从数组原型对象中获取了片函数,只是给了它一个更简单的方法来引用它?这种方法的好处是什么?为什么一开始就用双下划线?我在某个地方读到,这将避免全局范围内的冲突,但这不是已经通过将整个代码包装在

代码语言:javascript
复制
(function() { //code here
}).call(this);

建筑?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-26 11:31:45

我是否正确地理解了,这从数组原型对象中获取了slice函数,只是给了它一个更简单的方法来引用它?

是。

这种方法的好处是什么?

__sliceArray.prototype.slice短(也需要几个额外的属性查找层),理论上,[].slice创建并丢弃了一个对象。因此,为它保留一个标识符只是在保存一些类型和最小、最小、最小的运行时性能。

为什么一开始就用双下划线?我在某个地方读到,这样做是为了避免全局范围内的冲突,但如果将整个代码包装在.

是的,这样做已经避免了。在这种情况下,这只是作者想要使用的约定,也许是为了表明这是他/她通往Array.prototype.slice的捷径。__没有内在的含义。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40817812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档