Javascript 任何向每个函数调用添加代码的方法
我想要一个快速的方法来添加如下内容Javascript 任何向每个函数调用添加代码的方法,javascript,Javascript,我想要一个快速的方法来添加如下内容 console.log(functionName) 到每个函数的顶部 有没有一种快速简便的方法可以做到这一点,或者我需要手动将代码添加到每个函数中。我担心JavaScript不可能做到这一点,因为它不支持运行时修改函数内容 但是,您可以备份脚本并进行搜索和替换,以节省编辑部分的时间;现代编辑器支持基本的正则表达式来帮助您解决问题。我担心JavaScript不可能做到这一点,因为它不支持运行时修改函数内容 但是,您可以备份脚本并进行搜索和替换,以节省编辑部分的
console.log(functionName)
到每个函数的顶部
有没有一种快速简便的方法可以做到这一点,或者我需要手动将代码添加到每个函数中。我担心JavaScript不可能做到这一点,因为它不支持运行时修改函数内容
但是,您可以备份脚本并进行搜索和替换,以节省编辑部分的时间;现代编辑器支持基本的正则表达式来帮助您解决问题。我担心JavaScript不可能做到这一点,因为它不支持运行时修改函数内容
但是,您可以备份脚本并进行搜索和替换,以节省编辑部分的时间;现代编辑器支持基本正则表达式来帮助您解决问题。您可以尝试以下方法:
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);
}
}
但是,这只适用于全局函数,而不适用于对象的函数或作用域函数。它也有点像核武器,所以对于手动将控制台日志添加到您想要调用的特定函数来说,它是一个糟糕的替代品
相反,最好在代码中插入一个断点(使用浏览器的开发工具),并在该断点处检查调用堆栈。您可以尝试以下方法:
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);
}
}
但是,这只适用于全局函数,而不适用于对象的函数或作用域函数。它也有点像核武器,所以对于手动将控制台日志添加到您想要调用的特定函数来说,它是一个糟糕的替代品
相反,最好在代码中插入一个断点(使用浏览器的开发人员工具),并在该断点处检查调用堆栈。如果使用流控制库(如),则可以在较低级别访问应用程序中最重要的函数。当然,您必须从一开始就使用Frame构建应用程序。如果您试图修改一个已经构建的应用程序,这将不起作用。如果您使用流控制库(如),则您对应用程序中最重要的函数具有低级访问权限。当然,您必须从一开始就使用Frame构建应用程序。如果您试图修改已构建的应用程序,则此操作无效。视情况而定;如果您的代码格式一致,您可能会使用编辑器regex;如果您的代码格式一致,您可能会使用编辑器regex。在运行时包装函数的可能副本将完成此工作。唯一的问题是获取所有函数的列表。@ThiefMaster没错,不过Kolink找到了一个很好的方法:)在运行时包装函数就可以了。唯一的问题是获取所有函数的列表。@ThiefMaster没错,尽管Kolink找到了一个很好的方法:)很好,我也可以使用相同的结构来循环任何我想这样做的对象。也就是说,我可以把你的can放在一个函数中,其中window只是你可以传递它的一个参数。很好,我也可以使用相同的结构来循环任何我想这样做的对象。也就是说,我可以把你的罐子放在一个函数中,窗口只是一个参数,你可以传递它。