javascript - setTimeout 将参数从另一个函数传递给函数

标签 javascript function

遇到问题,不知道如何向 ClickSimMove func 公开的 ClickSimClick 函数参数提供(它返回包含 2 个值的数组)。

下面的代码表示 crd 在 setTimeout 上未定义。

var crd = plugin().ClickSimMove();
setTimeout("plugin().ClickSimClick(crd[0], crd[1])", 1000);

最佳答案

传递一个函数,而不是一个字符串:

var crd = plugin().ClickSimMove();
setTimeout(function() {
    plugin().ClickSimClick(crd[0], crd[1]);
}, 1000);

当您传递字符串时,它的计算方式与全局范围内的 eval 相同,从而失去对局部变量的所有访问权限。匿名函数允许您引用作用域内的任何变量。

关于javascript - setTimeout 将参数从另一个函数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15858144/

相关文章:

javascript - Javascript 中的递归不起作用(CodeWars 问题)

r - 使用 map (purrr) 迭代 R 中的两个向量

javascript - 获取分离的 JQuery 对象的外部 HTML

javascript - 将简短的 jquery 转换为独立的 javascript

javascript - 表单提交后加载 Ajax

javascript - 整个表单在 React 中以 Redux 状态重新渲染

c++ - 动态数组和函数

python:运行超时函数(并获得返回值)

r - 在 R 中使用 Paste() 创建函数名称

file - 在 MATLAB 中,我可以在同一个文件中同时拥有脚本和函数定义吗?