forEach的第二个参数有什么用?
今天才知道forEach函数有第二个参数!!!
赶紧来补一下芝士
定义和用法
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。

这个第二个参数的作用就是:
绑定this指向
头大,直接上代码演示:
var obj = {name: 'nn',gender: 'female',hobbies: [1, 2, 3],print: function () {//这个this为什么指向obj,是语言设计者设计的this.hobbies.forEach(function (n) {console.log(this.name)}, this)}
}
//写成下面的方式好懂一些
var obj = {name: 'nn',gender: 'female',hobbies: [1, 2, 3],print: function () {var that = this//指向obj;this/*指向obj*/.hobbies.forEach(function (n) {console.log(this/*原本指向window,被that绑定到obj,*/.name)}, that/*前面声明了,此处作为参数传入forEach函数*/)}
}

就是把红色的this绑定给了绿色
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
