2018-07-17

call,apply
函数的参数列表arguments 是一个类数组对象,虽然它也有“下标”,但它并非真正的数组,所以也不能像数组一样,进行排序操作或者往集合里添加一个新的元素。这种情况下,我们常常会借用Array.prototype 对象上的方法。比如想往arguments 中添加一个新的元素,通常会借用Array.prototype.push:

(function(){
    Array.prototype.push.call( arguments, 3 );
    console.log ( arguments ); // 输出[1,2,3]
})( 1, 2 );

想把arguments 转成真正的数组的时候,可以借用Array.prototype.slice 方法;想截去arguments 列表中的头一个元素时,又可以借用Array.prototype.shift 方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容