我有一个这样导入的函数:
import { myFunc } from './myFunc.js';
我正在尝试使用字符串作为函数名称来运行此函数(字符串的内容可能会更改):
let fnStr = "myFunc";
let fn = window[fnStr];
fn();
但是,
window[fnStr]
找不到导入的函数。 最佳答案
您不需要,因为它们不是全局对象的属性(在浏览器中通过window
引用该对象)。他们根本不是全球性的。这是一件好事。™:-)
您可以使用这些功能创建自己的对象,并改为使用它:
import { myFunc } from './myFunc.js';
const funcs = {
myFunc
};
用法:
let fnStr = "myFunc";
let fn = funcs[fnStr];
fn();
如果您具有这些功能中的几个,则可能希望将它们导出到对象上,而不是作为单个绑定导出,例如:
myFuncs.js
:function myFunc() {
// ...
}
function myOtherFunc() {
// ...
}
export default {myFunc, myOtherFunc};
然后
import funcs from './myFuncs.js';
let fnStr = "myFunc";
let fn = funcs[fnStr];
fn();
关于javascript - Javascript-使用window [funcName]时如何运行导入的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43370581/