Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从字符串格式的javascriptCode中获取functionName_Javascript - Fatal编程技术网

如何从字符串格式的javascriptCode中获取functionName

如何从字符串格式的javascriptCode中获取functionName,javascript,Javascript,这是我的密码 var javascriptCode="function adding(a,b){ return a+b}" 我想从字符串中选择functionName添加,怎么做 我试图找到它的索引作为 var indexStart=javascriptCode.indexOf("function "); var indexEnd=javascriptCode.indexOf("("); var res = javascriptCode.substring(indexStart, indexE

这是我的密码

var javascriptCode="function adding(a,b){ return a+b}"
我想从字符串中选择functionName
添加
,怎么做

我试图找到它的索引作为

var indexStart=javascriptCode.indexOf("function ");
var indexEnd=javascriptCode.indexOf("(");
var res = javascriptCode.substring(indexStart, indexEnd);
但我得到的输出是
功能添加
,是他们做这件事的任何其他方法

像这样试试

var javascriptCode="function adding(a,b){ return a+b}";
var indexStart=javascriptCode.indexOf(" ");
var indexEnd=javascriptCode.indexOf("(");
var res = javascriptCode.substring(indexStart+1, indexEnd);
console.log(res);

您可以使用正则表达式

var javascriptCode="function adding(a,b){ return a+b}"
var regex = /function\s*([^\(]*)\(/
var matchResult = javascriptCode.match(regex)
var funcName = null;
if (matchResult && matchResult.length) {
    funcName = matchResult[1];
}
console.log(funcName);

这是一个很棒的解决方案。谢谢。:)旁注:将来如果你不确定是否有答案,请发表评论。(我从你的帖子中删除了问题。)谢谢Anik,我把这个问题作为优先考虑的问题:)旁注:很可能有更好的方法来实现你的实际目标。频繁地从字符串计算脚本是安全问题的标志。如果你真的必须这么做——考虑找到完整的JavaScript解析器,而不是试图将字符串解析为正确的脚本。@ AlxeILVENKOV实际上我使用的是UI ACE并以字符串格式存储该脚本,但无论如何,谢谢: