Array.prototype.slice.call(arguments) 通俗法理解
2024-10-01 10:48:11
Array.prototype.slice.call(arguments,num) 能将具有length属性的对象转成数组。
slice 从字面上的意思可以理解为截取数组的一部分。
call 从字面上的意思可以理解为截取出来
arguments 仅与数组类似,不是真正的数组对象,所以它并没有slice这个方法,让arguments转换成一个数组对象,让arguments具有slice()方法。
注:要是直接写arguments.slice(num)会报错。
那么 Array.prototype.slice.call(arguments,num);
即把调用方法的参数截取出来。
如:
var a={length:2,0:'first',1:'second'};//类数组,有length属性,长度为2,第0个是first,第1个是second
console.log(Array.prototype.slice.call(a,0));// ["first", "second"],调用数组的slice(0); var a={length:2,0:'first',1:'second'};
console.log(Array.prototype.slice.call(a,1));//["second"],调用数组的slice(1); var a={0:'first',1:'second'};//去掉length属性,返回一个空数组
console.log(Array.prototype.slice.call(a,0));//[]
function test(){
console.log(Array.prototype.slice.call(arguments,0));//["a", "b", "c"],slice(0)
console.log(Array.prototype.slice.call(arguments,1));//["b", "c"],slice(1)
}
test("a","b","c");
最新文章
- python基础-面向对象编程
- C语言----------链表的简单操作
- Analysis Services OLAP 概述
- JAVA单向/双向链表的实现
- Maven pom.xml中添加指定的中央仓库
- 玩转React样式
- linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)
- ruby 笔记
- Android之屏幕测试
- 在Ubuntu中设置中文输入法
- oracle中的层级递归查询操作
- ecshop和jQuery冲突
- 为什么大家觉得自学HTML5难?
- SQLserver中小数点怎么自定义取的问题
- 【一天一道LeetCode】#65. Valid Number
- Mybatis插入数据返回主键ID
- dubbo-springboot入门级demo
- 学习ActiveMQ(六):JMS消息的确认与重发机制
- 转 linux安装jdk环境(多种方式)
- express基础项目创建