[GPT] js 外部参数怎么传给 setTimeout 的匿名函数 ?
你可以将外部参数作为 setTimeout()
函数的第三个参数传递,然后在匿名函数中使用这个参数。例如:
var myParam = "Hello, world!"; setTimeout(function(param) { console.log(param); // 输出:"Hello, world!" }, 1000, myParam);
在这个例子中,我们将外部参数 myParam
作为 setTimeout()
的第三个参数传递。然后,在匿名函数中,我们使用 param
参数来访问这个值。
注意,使用第三个参数来传递参数只在 ES6 之后的版本中才被支持。如果你需要兼容旧版浏览器,你可以使用闭包或者 .bind()
方法来实现相同的效果。例如:\
var myParam = "Hello, world!"; setTimeout(function() { console.log(myParam); // 输出:"Hello, world!" }.bind(null, myParam), 1000);
在这个例子中,我们使用 .bind()
方法将 myParam
绑定到匿名函数中。.bind()
方法的第一个参数是要绑定的上下文,这里我们将其设置为 null
,因为我们不需要改变上下文。接下来的参数是要传递给函数的参数。
然后,我们将结果传递给 setTimeout()
函数。
Cool:ChatAI