有人知道如何调用javascript函数,例如
function sampleCallback() {
alert("hello");
}
来自字符串“sampleCallback()”?
我有一个多维数组,如下所示:
hintSlidesArray = [
[{ "element": "noelement" }, { "hintMessage": "Welcome"}, "callback": "sampleCallback" }],
];
并希望将回调字符串传递给它,以便我可以从读取数组的地方运行它。
答案 0 :(得分:4)
任何全局变量(包括函数)都是全局对象的属性。在浏览器环境中,这是window
。因此,您可以使用数组下标语法来访问您要查找的属性:
window[hintSlidesArray[0][2].callback]();
如果您需要为this
指定值,可以使用.call()
或.apply()
:
window[hintSlidesArray[0][2].callback].call(value_for_this);
但是,您应该考虑在对象中存储函数而不是其名称。如果在创建对象时已在当前作用域(或全局作用域)中定义了该函数,则这与从函数名中删除引号一样简单。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用window object调用javascript函数:
var functionResult = window[myFunctionName];