gpt4 book ai didi

javascript - 在函数中使用字符串,ReferenceError

转载 作者:行者123 更新时间:2023-12-02 22:04:25 29 4
gpt4 key购买 nike

我正在尝试使用字符串作为函数的一部分。

const import1 = require('./import1');
const import2 = require('./import2');

//on above files there is a method, let's call it method1.

const string = "import1"; // or could be "import2"

//I would like to use above string as code.

//This is what I tried:

const functionToUse = new Function(string + ".method1()");
functionToUse();

这是我收到的错误:“ReferenceError:import1 未定义”

我检查了这个答案:Convert a string to a function, gives ReferenceError它有点有效,但我需要将 import1 或 2 作为字符串传递。

非常感谢所有帮助!

最佳答案

为什么不使用对象来访问函数?

const import1 = { method: function() { alert('method!'); } }; //require('./import1');
const import2 = { method2: function() {alert('method2'); } }; // require('./import2');


// Add link to both objects

window.myImports = { import1, import2 };
const string = "import1";
const functionToUse = getFunction(string + ".method");

function getFunction(path) {
const parts = path.split('.');
let obj = window.myImports;

for(let part of parts) {
obj = obj[part];
}

return obj;
}

functionToUse();

关于javascript - 在函数中使用字符串,ReferenceError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59768174/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com