标签:func 改变 prototype array 需要 指定 sar 接受 代码
要想明白[].forEach.call()
这种写法,需要了解以下两点:
foreach()
是数组的方法,只有数组才能调用,forEach()
可以接受一个function
作为参数;
call()
的使用一般是为了改变this
的值;
call()
的语法:
function.call(thisArg, arg1, arg2,...)
thisArg
:可选的,在function
函数运行时使用的this
的值。
arg1, arg2, ...
:指定参数列表
[].forEach.call()
,可以看作
let fun = [].forEach;
fun.call();
// 第一行代码只是为了调用数组的 forEach 方法,
// [].forEach 等同于 Array.prototype.forEach
举例:[].forEach.call(list, fun)
这个意思就是,将list
使用forEach
来遍历,fun
作为参数传入forEach
方法中,fun
中的this
也指向了list
标签:func 改变 prototype array 需要 指定 sar 接受 代码
原文地址:https://www.cnblogs.com/gzy-mao/p/14641346.html