我想做的是截取javascript中的所有函数调用,无论它们是由new Function
还是function
创建的。
换言之,可以为将要创建的所有函数执行代理。在函数初始代码之前执行一些代码。
所以我的问题是:
-
有办法做到这一点吗?
-
有办法改变Function.prototype吗?它是内置的可配置:false。这可以改变吗。
-
我正试图在电子中做到这一点,所以我可以更改V8的标志,启用实验
-
在启用
--allow_natives_syntax
标志的本机函数的情况下,可以做到这一点吗? -
有办法更改内部[[Call]]吗?
我知道我不应该这么做的所有原因。我只对一种可以做到的方式感兴趣。
- 有办法做到这一点吗
否。
- 有办法更改Function.prototype吗?它是内置的可配置:false。这能改变吗
否。
- 使用启用了--allow_natives_syntax标志的本机函数可以做到这一点吗
否。
- 有办法更改内部[[Call]]吗
否。
如果您只是对跟踪函数调用感兴趣,那么可以使用V8现有的--trace
标志。不可能在JavaScript中复制该功能(否则该标志将不存在(。