[].slice.call(arguments, 1)的含义

[].slice.call(arguments, 1)的含义是 js 语法中创建一个新数组的意思 看如下代码 var a var b new Array 这两种写法并无二致 是一个数组 那么 slice 是它的一个方法 是一个函数 var a 1 2 3 4 5 var b a

大家好,我是讯享网,很高兴认识大家。

[]是js语法中创建一个新数组的意思,看如下代码:

var a = []; var b = new Array(); 

讯享网
讯享网var a = [1, 2, 3, 4, 5]; var b = a.slice(2); // b是a从2号位开始的片段 // 也就是[3, 4, 5] 


讯享网

var a = function (n) { console.log(this, n); } var b = {}; a(1); // log出Window对象, 1 a.call(b, 2); // log出b对象, 2 
讯享网function a() { console.log(arguments); } a(1, 2, 3); // log出[1, 2, 3] 

但实际上他是一个类数组。他并不具备数组原型上所有的方法。
在这里插入图片描述
在这里插入图片描述
所以如果arguments要使用数组的方法,这里就通过修改this指针的方式,让arguments继承array。然后arguments就可以使用数组中的各种方法了。
在这里插入图片描述
es6中的扩展运算符也可以用的吧
在这里插入图片描述

小讯
上一篇 2025-04-08 18:39
下一篇 2025-03-27 14:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/129833.html