undefined()用作函数

Vis*_*ath 0 javascript undefined

我正在阅读一篇关于javascript调试会话的文章,其中作者需要一种方法来进入removeChild of Element以了解哪些代码在运行时删除了一个特定的元素.

因此他使用以下代码

javascript:void(Element.prototype.removeChild=function(){undefined()})
Run Code Online (Sandbox Code Playgroud)

据我所知,"undefined是全局对象的属性,即它是全局范围内的变量." (引自MDN)未定义的类型.

在下一行中,作者说他得到了堆栈跟踪(注意他正在使用opera和dragonfly).

我已经尝试过执行这个代码,如果使用的话,它可以工作,但是如果我尝试只使用它

undefined()
Run Code Online (Sandbox Code Playgroud)

它确实给了我错误"TypeError:undefined不是一个函数",我理解.

任何人都可以解释一下这些代码如何作为有效的javascript工作,以及它如何解决获取堆栈跟踪的问题.

T.J*_*der 6

当作者调用时undefined(),它会导致错误发生,他正在调试器中捕获,以便他可以找出谁在调用removeChild该元素.

另一种方法是使用debugger;语句,如果调试器打开则强制断点.