首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Array.prototype.slice.call返回空数组

是因为它没有传入任何参数。在JavaScript中,Array.prototype.slice.call()是一种将类数组对象转换为真正的数组的常用方法。它通过调用Array.prototype.slice方法并将类数组对象作为其上下文来实现。

具体来说,Array.prototype.slice.call()的作用是将类数组对象转换为数组,并返回一个新的数组副本。类数组对象是具有类似数组的结构,但没有数组的内置方法和属性。通过使用Array.prototype.slice.call(),我们可以在类数组对象上使用数组的方法和属性。

然而,当没有传入任何参数时,Array.prototype.slice.call()将返回一个空数组。这是因为在没有传入参数的情况下,slice方法将从索引0开始截取数组,但由于没有传入任何参数,所以没有任何元素可供截取,因此返回一个空数组。

需要注意的是,Array.prototype.slice.call()是一种旧的用法,现代的JavaScript中更常见的是使用扩展运算符(...)来将类数组对象转换为数组。例如,可以使用[...类数组对象]来实现相同的功能。

关于Array.prototype.slice.call()的更多信息,您可以参考腾讯云的JavaScript开发文档中关于slice方法的介绍:Array.prototype.slice()

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • js原生函数之call和apply,bind

    将NodeList转数组 document.querySelectorAll()是大家常用的DOM元素选择器,他会返回查询到的DOM元素的数组,也就是NodeList; 我曾经试过使用forEach去循环监听里面的各个...dom,结果失败了,因为NodeList并不具有数组的函数功能。...如果我们要对每个Node遍历处理,就不能用数组的方式去处理了,当然,通过for循环还是可以的。 另一方面,出于其他理由,我们要将NodeList转成数组呢。...document.querySelectorAll('p');//NodeList var pArray = [].slice.call(pList);//Array 顺便一提,ES6标准中有一个Array.from() 方法可以将一个类数组对象或可迭代对象转换成真正的数组...柯里化同时传进一个参数,将a常数化/已知化 console.log(addOneCurried(10, 2)); // 1 + 10 + 10 = 21; 其实也是通过Array.prototype.slice将类数组转换成数组的一个应用

    88800

    前端面试 【JavaScript】— 函数的arguments为什么不是数组?如何转化成数组

    因为arguments本身并不能调用数组方法,它是一个另外一种对象类型,只不过属性从0开始排,依次为0,1,2...最后还有 callee 和length属性,我们也把这样的对象称为类数组。...那这导致很多数组的方法就不能用了,必要时需要我们将它们转换成数组,有哪些方法呢?...Array.prototype.slice.call() function sum(a, b) { // 将类数组转换为数组 let args = Array.prototype.slice.call...}) console.log(num); }; sum(1,2,3,4,5,6); // 21 Array.from() function sum(a, b) { // 将类数组转换为数组...ES6展开运算符 function sum(a, b) { // 将类数组转换为数组 let args= [...arguments]; // 对转换为数组的方法调用累加

    1.7K40

    javascript 类数组概念详解

    javascript 类数组概念详解 1.什么是类数组(ArrayLike) 本身是一个对象,拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解...) 不具有数组所具有的方法 2.判断一个对象是否属于类数组 function isArrayLike(o) { if (o && /...3.类数组转化为数组的方法 Array.prototype.slice.call(arrayLike) Array.prototype.slice的内部实现 Array.prototype.slice...0开头会出现转化不全的情况,比如 var a = {1:'asda',2:'aa',length:2}; console.log(Array.prototype.slice.call(a));//[empty..., "asda"] 4.将数组转化为类数组(以参数列表的形式) 可以利用apply方法(它将传入的第二个参数(应该是一个数组)作为函数参数调用调用它的函数)来实现 function convertToArrayLike

    53110

    【春节日更】小技巧 — 如何将类数组转成数组

    今日分享一个小技巧: 类数组转成数组的方法 下面就来看看吧 01 什么是类数组 (Array-like) 定义: 不是数组 可以利用属性名模拟数组的特性 不具有数组所具有的方法...push方法,则调用时即会报错 常见的类数组有 arguments 和 HTMLCollection、NodeList ,《javascript权威指南》里面给出了一个鉴别对象是否是类数组的函数: function...Then o is array-like else return false; // Otherwise it is not } 类数组数组的显示区别...: 图1 图2 02 类数组数组的方法 方法一: 使用 Array.prototype.slice.call(arguments) function list() { return...Array.prototype.slice.call(arguments); } var list1 = list(1, 2, 3); // [1, 2, 3] 你也可以简单的使用 [].slice.call

    66910

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券