博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
伪数组化数组
阅读量:5075 次
发布时间:2019-06-12

本文共 626 字,大约阅读时间需要 2 分钟。

看网课的时候发现一个伪数组转化为数组的方法

[].slice.call(伪数组对象)

一开始看到这个方法,百思不得其解。

后来在网上看了看其他大神的分享才恍然大悟。

首先我们要搞清楚2个问题

1.slice方法在不传参数是如何进行切割的

2.call方法的this指向问题

call方法会把this的指向第一个参数对象

这样在[].slice.call(伪数组对象)中的this就指向了伪数组对象

在slice方法内部大概是

function mySlice() {    var start=0;    var end=0;    if(artuments.length===1){        start=arguments[0]    }else if(arguments.length==2){        start=arguments[0];        end=arguments[1];    }    var tmp=[];    for(var i=start;i

 if判断是在判断是否有参数,这里没有参数

arguments代表的是参数列表 在for循环中由于mySlice方法中的this已经指向了伪数组对象 所以它把伪数组对象遍历并将伪数组对象中的元素添加到了一个新数组中并返回 我们就得到了一个由伪数组转化来的数组对象

 

转载于:https://www.cnblogs.com/hsBK/p/11199975.html

你可能感兴趣的文章
[TypeScript] Union Types and Type Aliases in TypeScript
查看>>
[Angular 2] BYPASSING PROVIDERS IN ANGULAR 2
查看>>
[算法题] 二维数组中的查找
查看>>
WordPress Checkout插件跨站脚本漏洞和任意文件上传漏洞
查看>>
vue+node+elementUI实现注册功能
查看>>
再谈lmbench
查看>>
互测测测测测
查看>>
WPF获取和设置应用程序范围的资源
查看>>
人工智能-机器学习之numpy方法
查看>>
Java程序员从笨鸟到菜鸟之(十四)Html基础积累总结(上)
查看>>
根据数据库表结构生成java类
查看>>
IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法
查看>>
boost::asio 实现 libtorrent (zz)
查看>>
CS3402 Integrity Constraints
查看>>
WKWebKit基础
查看>>
常用的Linux操作
查看>>
HDU 1720 A+B Coming
查看>>
BZOJ3448 : [Usaco2014 Feb]Auto-complete
查看>>
DevExpress v17.2新版亮点—Windows 10篇
查看>>
DevExpress WinForms使用教程:新的CheckEdit样式
查看>>