我尝试使用此代码动态调用函数:
function myFn() {
console.log("called");
}
var callbackName = "myFn";
console.log(window[callbackName]);
然而它说window[callbackName]
未定义。为什么以及如何动态调用它?感谢
答案 0 :(得分:6)
JSFiddle将JavaScript包装在函数中,因此myFn
位于另一个函数的本地范围内。
使用:
window.myFn = function () {
console.log("called");
}
var callbackName = "myFn";
console.log(window[callbackName]());
这样您就可以明确定义名为myFn
的全局函数。
另一个选项(如@Barmar所说)是使用JSFiddle的选项“No wrap”。