Eval'd幕后?

Roy*_*mir 2 javascript eval function

我听说当我这样做时:

<a onclick='foo()'></a>
Run Code Online (Sandbox Code Playgroud)

在幕后,它会生成一个匿名函数,或者可能是一个eval'd函数......?我很困惑,因为我有一个功能foo,所以额外的代码在哪里?

我可以请一些解释/澄清吗?

Art*_*jka 5

是的,它确实.它会生成一个匿名函数,该函数的主体设置为您在引号中包含的内容(因此它将foo()在执行时调用您的内容).

当你在函数中放置一个断点并在它被击中时查看堆栈跟踪时,可以观察到它.

更新

一些插图:Firebug/Firefox(更多Firebug),Chrome