以任何方式为每个函数调用添加代码

时间:2012-06-03 14:28:15

标签: javascript

我想快速添加类似

的内容
console.log(functionName)

到每个功能的顶部。

是否有快速简便的方法,或者我需要手动将该代码添加到每个功能。

3 个答案:

答案 0 :(得分: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);
    }
}

但是,这只适用于全局函数,而不适用于对象或作用域函数。它也是一种核武器,因此无法替代手动将控制台日志记录添加到您想要呼叫的特定功能。

相反,最好在代码中插入一个断点(使用浏览器的开发人员工具)并在那时检查调用堆栈。

答案 1 :(得分:0)

我担心JavaScript无法实现这一点,因为它不支持功能内容的运行时修改。

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

答案 2 :(得分:0)

如果使用像Frame.js这样的流量控制库,则您可以对应用程序中最重要的功能进行低级访问。当然,您必须从一开始就使用Frame构建应用程序。如果您尝试修改已构建的应用程序,则无法使用此功能。