Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript动态调用函数-返回未定义的_Javascript_Jsfiddle - Fatal编程技术网

Javascript动态调用函数-返回未定义的

Javascript动态调用函数-返回未定义的,javascript,jsfiddle,Javascript,Jsfiddle,我尝试使用以下代码动态调用函数: function myFn() { console.log("called"); } var callbackName = "myFn"; console.log(window[callbackName]); 但是它说,window[callbackName]是未定义的。为什么以及如何动态地调用它?谢谢JSFiddle将您的JavaScript包装在一个函数中,因此myFn位于另一个函数的本地范围内 使用: 通过这种方式,可以显式定义名为my

我尝试使用以下代码动态调用函数:

function myFn() {
        console.log("called");
}
var callbackName = "myFn";
console.log(window[callbackName]);


但是它说,
window[callbackName]
是未定义的。为什么以及如何动态地调用它?谢谢

JSFiddle将您的JavaScript包装在一个函数中,因此
myFn
位于另一个函数的本地范围内

使用:

通过这种方式,可以显式定义名为
myFn
的全局函数

另一个选项(正如@Barmar所说)是使用JSFiddle的选项“No wrap”


JSFiddle将您的JavaScript封装在一个函数中,因此
myFn
位于另一个函数的本地范围内

使用:

通过这种方式,可以显式定义名为
myFn
的全局函数

另一个选项(正如@Barmar所说)是使用JSFiddle的选项“No wrap”


请参阅或将JSFIDLE选项更改为“无包装”。太好了。我的外部文件中的代码也有同样的问题。这有帮助。谢谢。或者把JSFiddle选项改为“No wrap”。太好了。我的外部文件中的代码也有同样的问题。这有帮助。谢谢
window.myFn = function () {
  console.log("called");
}
var callbackName = "myFn";
console.log(window[callbackName]());