理解[].forEach.call()
例子: let cols = document.querySelectorAll('ul li') [].forEach.call(cols, function (col, index) {// TODO }分析: ① []是一个空数组,无论这个数组里的最初值是什么,它们都不会被使用到; ② forEach方法是一个数组方法,只有数组才能调用;完整写法:Array.prototype.forEach,Array.forEach为简写; ③ call方法: 语法:fun.call(thisArg, arg1, arg2, ...)
参数:thisArg
:在 fun 函数运行时指定的this值;arg1, arg2, ...
: 指定的参数列表; 综上: []这个空数组里的值(当然,它没有值)是最初的this值,通过call方法,当这个空数组调用方法forEach时,cols里的值会取代空数组原先的this值。 通俗的说,就是cols需要使用forEach这个方法,但是这个方法是一个数组方法,只有数组才能调用,于是通过call方法来了个偷梁换柱,在数组调用forEach方法的时候,将数组里的this值替换成了cols的值,达成了目的。
转载于:https://www.cnblogs.com/Man-Dream-Necessary/p/8205711.html
理解[].forEach.call()相关推荐
- 【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题
foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对 ...
- foreach 二维java_教你如何用for和foreach循环遍历java中的二维数组
一:先来说说for和foreach循环的区别 for和foreach的区别 foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach ...
- 换种思路去理解设计模式
1 前言 看过许多关于设计模式的博客,也读过关于设计模式的书.几乎所有的介绍的开头,直接就引入了"设计模式"或者"某某模式".设计模式到底是因什么而来?这是一个 ...
- java中的foreach
foreach 并不是java中的关键字,是for语句的特殊简化版,在比那里数组,集合时,foreach更加简单快捷,从字面上的意思理解 foreach 也就是 " for每一个 " ...
- java中的foreach用法及总结
增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. ...
- foreach语句使用总结
java foreach 使用 foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是fo ...
- 【黑马程序员】 【转载】foreach循环 ---------BY elleniou
----------------------android培训.java培训.期待与您交流!---------------------- foreach语句是java5的新特征之一,在遍历数组.集合方 ...
- java for数组遍历数组_Java foreach操作(遍历)数组
语法: 我们分别使用 for 和 foreach 语句来遍历数组 运行结果: 练习: import java.util.Arrays; public class HelloWorld { public ...
- java 7 foreach_java foreach怎么用
foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语 ...
- JAVA中的foreach循环
一.概念 foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取 ...
最新文章
- Server-U的批量用户创建
- 解码python_Python解码
- 极客时间和极客学院_极客历史记录的本周:Twitter的诞生,OS X十周年以及太空停留时间最长的时代即将结束...
- 华丽的模态窗口弹出效果示例
- 面向对象与面向过程的理解——个人想法
- Python3之数据结构
- 学习Matlab的第一个程序——用二分法求根
- 移动公网5G配置(一)
- 无网情况下安装rpm依赖包
- 《微信小程序开发实战》学习笔记chapter1微信小程序人门
- 《通用数据保护条例》(GDPR)系列解读五:出海欧洲,企业必须做好四大义务
- 代码整洁之道精华——第十四章 逐步改进
- 最全openstack部署教程
- 号称21世纪的编辑器Atom
- 一个简单答题系统的设计与实现(二)
- SN74LVC8T245 8路 电平转换 3.3v 5v
- java写入excel模板_java实现赋值excel模板,并在新文件中写入数据,并且下载
- 手机页面底部浮动的按钮
- [Voice communications] 声道的转换
- Ubuntu 下 Janus Server 搭建笔记