关于js中的call的应用?
我简单理解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中的参数不是这个好像?实在理解不了这种写法?
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果换种写法
能理解吗
NodeList不是js原生Array,所以要使用Array里的一些方法得需要一些奇怪的技巧