Javascript 传递某些参数时出错

Javascript 传递某些参数时出错,javascript,Javascript,我是初学者,所以这可能不是一个很聪明的问题。。 如果我有这个功能 function repeat (n,action) { for(i=0;i<n;i++){ action(i) } } 由于action(i)将被arr.push(i)替换,因此Array.prototype.push方法不是函数,除非绑定,否则不能用作回调。它期望一个this作为调用的作用域传入 见: 您有两个选择: 重复(3,arr.push.bind(arr))(绑

我是初学者,所以这可能不是一个很聪明的问题。。 如果我有这个功能

function repeat (n,action) {
      for(i=0;i<n;i++){
          action(i) 
      }
 }

由于
action(i)
将被
arr.push(i)

替换,因此
Array.prototype.push
方法不是函数,除非绑定,否则不能用作回调。它期望一个
this
作为调用的作用域传入

见:

您有两个选择:

  • 重复(3,arr.push.bind(arr))(绑定方法回调)
  • 重复(3,v=>arr.push(v))(lambda样式回调)
功能重复(n,动作){
for(设i=0;i
重复(3,arr.push.bind(arr))-这样绑定就可以了
let arr = [0]; 
repeat(3,arr.push);