在调用eval之前是否可以检查字符串是否是有效的函数名?
var fnString = $('#fnInput').val()
// is there any way I can check if fnString is a valid function name
// before calling the following line:
eval(fnString + '()');
我了解使用
eval()
的风险,这是一个私人项目,不会向公众公开。 最佳答案
根据您的范围,您可以执行以下操作:
var fnString = $('#fnInput').val();
if(typeof window[fnString] === "function") {
window[fnString]();
}