2

我想要一个快速的方法来添加类似的东西

console.log(functionName)

到每个函数的顶部。

是否有一种快速简便的方法可以做到这一点,或者我需要手动将该代码添加到每个函数中。

4

3 回答 3

4

你可以尝试这样的事情:

for( var x in window) {
    if( typeof window[x] == "function") {
        (function(x) {
            var ox = window[x];
            window[x] = function() {
                console.log(x);
                ox.apply(null,arguments);
            };
        })(x);
    }
}

但是,这仅适用于全局函数,不适用于对象函数或作用域函数。它也是一种核弹,因此不能替代手动将控制台日志记录添加到您要调用的特定功能。

相反,在代码中插入断点(使用浏览器的开发人员工具)并在该点检查调用堆栈可能会更好。

于 2012-06-03T14:32:48.670 回答
0

恐怕这对于 JavaScript 是不可能的,因为它不支持函数内容的运行时修改。

但是,您可以备份脚本并进行搜索和替换以节省编辑部分的时间;现代编辑器支持基本的正则表达式来帮助你。

于 2012-06-03T14:31:22.993 回答
0

如果您使用Frame.js之类的流控制库,则您可以对应用程序中最重要的功能进行低级别访问。当然,您必须从一开始就使用 Frame 构建应用程序。如果您尝试修改已构建的应用程序,这将不起作用。

于 2012-06-03T14:36:01.377 回答