我能直接拦截一个被直接调用的函数吗?

13 浏览
0 Comments

我能直接拦截一个被直接调用的函数吗?

在这段代码中,我创建了一个名为someFunction的函数。然后修改了Function.prototype.apply和call方法。因此,我不再运行我的函数代码,而是运行我的拦截代码(显示一个警告)。但是,无论是"call"还是"apply"都不能拦截直接方法调用。有可能拦截这个吗?

Function.prototype.call = function(){alert("call");};

Function.prototype.apply = function(){alert("apply");};

function someFunction(){}

window.onload = function(){

someFunction.call(this); //显示call警告

someFunction.apply(this); //显示apply警告

someFunction(); //我如何拦截这个?

}

0