您可以尝试以下方法:
var Stub = new Object();
Stub.func1 = function(args) {/*Your code*/};
Stub.func2 = function(args) {/*Your code*/};
Stub.func3 = function(args) {/*Your code*/};
// enumerate through functions
for(f in Stub)
{
if (Stub.hasOwnProperty(f) && typeof Stub[f] === "function")
console.log(f);
}
我在Stub这里将对象“”视为名称空间/类。
编辑:如果您无法控制 JS 文件,也许是第三方,您仍然可以使用上述技术来找出文件中的函数列表。我假设 js 文件正在全局命名空间(窗口)上定义新函数。这是你要做的:
第 1 步:运行上述脚本并将 window 上的所有函数(将 Stub 替换为 window)存储在一个数组中。
第二步:动态加载新的JS文件(通过JavaScript将链接到外部js文件的脚本标签添加到HEAD中),JS文件加载完成后(即处于就绪状态),再次运行上述脚本。
步骤3:步骤2中报告的任何在步骤1中尚未访问的函数都是JS文件引入的新子集。