题解 | #使用闭包#
使用闭包
https://www.nowcoder.com/practice/578026cd24e3446bbf27fe565473dc26
思路:闭包。注意,返回的是函数数组,故可以使用map将arr中的每个元素映射为一个函数,函数的返回值是fn(el)。
function makeClosures(arr, fn)
{
return arr.map(el=>{
return function(){
return fn(el)
}
})
}
思路:bind返回的也是一个函数。this指的是如果fn中有使用this,则将使用第一个参数的对应属性!!
function makeClosures(arr, fn) {
let result=[]
for(let i=0;i<arr.length;i++)
result[i]=fn.bind(this,arr[i])
return result
}
总结:注意,是函数数组!!
#使用闭包#前端js面试 文章被收录于专栏
前端js面试,帮助你更好的理解js。
