[].shift.call(arguments)

535 阅读1分钟

今天我们来聊聊

[].shift.call(arguments)

我们知道shift方法是在数组Array的原型对象上的,空数组没有这个方法,我们知道产生一个空数组是通过new Array()函数得到的,每一个函数身上都会有一个原型对象,那么空数组就是new 产生都实例对象,实例对象上没有shift方法,那么就会从Array的原型上去找,找到了Array原型上的方法shift,但是call调用将this指向了arguments,原本操作空数组就变成了操作arguments了,因此这式子的意思就是删除arguments类数组中的第一个元素并且返回。