new Proxy(function() {}, {})
创建代理以监视函数在 Chrome 上不起作用。相反,它会抛出一个错误:
Uncaught illegal access
我想监视一个函数并在访问其属性时创建一个代理处理程序。在 Firefox 中看起来不错。有什么办法可以解决这个问题?
最佳答案
这是 Chrome devtools 控制台试图显示结果的问题,而不是代理构造函数本身的问题。您使用的是哪个版本的 Chrome?
在 Chrome 50 控制台中,我看到了这个:
> let p = new Proxy(function(){return 6},{})
< undefined
> p
< #<Function>
Uncaught illegal access
DebuggerScript.getFunctionScopes @ (program):4
> p()
< 6
所以函数代理工作得很好,但控制台 barfs 显示它。应该在最新的 Chrome 版本中修复。现在,您可以忽略该错误。
关于javascript - 新代理不适用于 Chrome 中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961906/