JS:绑定函数在递归中失败传递参数

时间:2015-10-17 22:47:28

标签: javascript recursion bind alert

例如:

function GoAlert(text){
    alert(text)
    setTimeout(GoAlert.bind(text),100);
}

GoAlert("Hello World");

第一个提醒是Hello World,但接下来会提到undefined。为什么呢?

1 个答案:

答案 0 :(得分:2)

使用.bind()时,您提供的第一个参数指定函数的this值。

  

语法

     

fun.bind(thisArg[, arg1[, arg2[, ...]]])

要为第一个参数(text)提供值,它应该是第二个参数(arg1)。

setTimeout(GoAlert.bind(undefined, text), 100);