为了账号安全,请及时绑定邮箱和手机立即绑定

关于js中的call的应用?

关于js中的call的应用?

海绵宝宝撒 2019-03-19 17:14:30
我简单理解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中的参数不是这个好像?实在理解不了这种写法?谢谢。
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

如果换种写法

Array.from(elements).forEach((element)=>{console.log(element)});

能理解吗
NodeList不是js原生Array,所以要使用Array里的一些方法得需要一些奇怪的技巧


查看完整回答
反对 回复 2019-04-04
  • 1 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信