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]());