向每个函数调用添加代码的任意方法
Any way to add code to every function call
我想要一种快速添加类似的东西的方法
console.log(functionName)
到每个功能的顶部。
有没有一种快速简便的方法可以做到这一点,或者我需要手动将该代码添加到每个函数中。
你可以尝试这样的事情:
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);
}
}
但是,这仅适用于全局函数,不适用于对象或作用域函数的函数。它也是一种核弹,因此是手动将控制台日志记录添加到要调用的特定函数的糟糕替代品。
相反,最好在代码中插入断点(使用浏览器的开发人员工具)并在该点检查调用堆栈。
恐怕这在 JavaScript 中是不可能的,因为它不支持函数内容的运行时修改。
但是,您可以备份脚本并进行搜索和替换,以节省编辑部分的一些时间;现代编辑器支持基本的正则表达式来帮助您。
如果使用像
Frame 这样的流控制库.js则可以对应用程序中最重要的函数进行低级别访问。当然,您必须从一开始就使用 Frame 构建应用程序。如果您尝试修改已构建的应用程序,这将不起作用。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- java安全doPrivileged方法如何阻止任意脚本
- 遍历所有不可枚举属性的任意方法
- 向每个函数调用添加代码的任意方法
- 在 DOM 修改后重新运行 jQuery 插件的任意方法
- 如何在 Mootools 扩展类中调用任意父方法
- 在剑道网格自定义弹出模板中设置默认值的任意方法
- 有没有一种方法可以通过一些任意的排序标准从猫鼬集合中获得第n个文档
- 是否有加载XML文件的方法,转义任意'&'s,然后对其进行解析
- 有没有一种更简洁的方法来设置一个条件语句,以便为变量的任意值集执行
- 在JavaScript中将字符串分割成任意维度的多维数组的最快方法
- 在JavaScript中使用Array对象对数组内部的实例调用任意方法
- 在Backbone中表示任意深度嵌套列表的最简单方法