【发布时间】:2013-07-06 12:22:28
【问题描述】:
出于调试目的,我想在 javascript 中的 每个 方法原型中注入 javascript 代码。这个例子只显示了一个类,但假设我有数百个类,每个类有几十个方法。这种机制应该在原型级别执行,而不需要指定每个类/方法名称。
function MyClass1() {
this.attrib = "ABC";
}
MyClass1.prototype.myMethod = function() {
alert("first row"); // <---- THE INJECTION SHOULD OCCUR BEFORE THIS LINE OF CODE
}
这个想法是在第一次加载/执行 javascript 代码期间动态在 myMethod() 的第一行之前注入一些代码。如:
MyClass1.prototype.myMethod = function() {
alert("I was injected dynamically");
alert("first row");
}
因此,对于其他所有类和方法,也应该发生同样的情况。这可以使用 Function.prototype 方法实现吗?
【问题讨论】:
-
我希望您不打算使用
alert显示调试信息。请改用console.log或console.debug(如果支持)。 -
即使
console.log也不能依赖。除非已打开开发者工具,否则它会使 Internet Explorer 崩溃。 -
我使用“alert”只是为了进行这次调查。我计划执行的调试基于特定的控制全局对象。
-
关于重复,我正在尝试为所有类和所有方法动态执行此操作。我确保我的问题更清楚地说明了这一点。谢谢
标签: javascript