我简单理解js中call的用法,是用来改变this指向的。比如:
var fn1=function(){
console.log(1);
}
var fn2=function(){
console.log(2);
}
fn1.call(fn2);
这个时候fn2中的this指向fn1,并且输出1.
但是对下面的写法不理解,elements为一个NodeList集合。
var elements=document.querySelectorAll('div');
Array.prototype.forEach.call(elements,(element)=>{
console.log(element)
});
我不理解的是call中的第二个参数怎么是执行的forEach中的callback呢?
为什么要把callBack放在call里面执行?call中的参数不是这个好像?实在理解不了这种写法?
谢谢。
拉丁的传说
相关分类