javascript - 字符串中的函数名称
问题描述
有人如何从 JavaScript 中的字符串中获取所有函数名称?
假设我的字符串是:
var test = "function hello(){} function world(count){ alert('Count:'+count)}"
我怎样才能得到函数名称(字符串的内容是随机的):
hello
world
有人可以告诉我如何用纯javascript完成吗?
解决方案
使用自定义代码解析 JavaScript 并非易事。以包含alert("this is not a function haha() {}")
.
但是,如果您满足于简单、不完美的方法,那么您可以使用正则表达式,如下所示:
function getFunctionNames(src) {
var re = /\bfunction\s*\*?\s*\b(\w+)\s*\(/g,
match,
names = [];
while(match = re.exec(test)) names.push(match[1]);
return names;
}
var test = "function hello(){} function* world(count){ alert('Count:'+count}";
console.log(getFunctionNames(test));
推荐阅读
- ios - 有关带有 Outlook iOS 应用附件的邮件的任何文档
- javascript - 应用于列表的 jquery 选择器“:checked”的简写
- linux - 增加 Google Cloud Shell 超时时间?
- r - 编写一个进度条函数以在 R 的循环中调用
- data-modeling - 软删除中的 Deleted_Flg 和有效结束日期
- matlab - 如何使用求解函数来求解向量而不是标量
- javascript - Objc - NavCog3 无法在一般模式和轮椅模式下自动启动导航
- oracle - Oracle - 将字符串转换为时间戳
- websphere-liberty - IBM IHS 动态路由不适用于通过功能 (adminCenter/openIDConnect) 公开的 api
- java - 使用 BufferedReader 方法在读取之前清除标准输入