使用 JavaScript 反射调用函数
Using JavaScript reflection to invoke a function
我是 JavaScript 的新手,正在为反射的工作原理而苦苦挣扎。
我想要做的是:给定一个作为函数名称的字符串,调用该函数。
例如。 var myString = "myFunctionName()" 已给出,然后我想以某种方式使用 myString 调用 myFunctionName()。
这可能吗?如何实现?
提前致谢!
这完全取决于声明函数的上下文。
对于浏览器的 window
上下文:
function test() {
console.log('Hello world!');
}
const string = 'test';
window[string]();
你可以试试:
function myFunctionName() {
// do something...
}
var myString = "myFunctionName()";
eval(myString)
我是 JavaScript 的新手,正在为反射的工作原理而苦苦挣扎。 我想要做的是:给定一个作为函数名称的字符串,调用该函数。 例如。 var myString = "myFunctionName()" 已给出,然后我想以某种方式使用 myString 调用 myFunctionName()。
这可能吗?如何实现?
提前致谢!
这完全取决于声明函数的上下文。
对于浏览器的 window
上下文:
function test() {
console.log('Hello world!');
}
const string = 'test';
window[string]();
你可以试试:
function myFunctionName() {
// do something...
}
var myString = "myFunctionName()";
eval(myString)