调试 eval 源代码

您可以调试动态评估的 JavaScript 代码,无论是作为传递给 eval() 的字符串,还是作为传递给 Function 构造函数的字符串。

在下面的视频中,我们加载了一个包含如下源代码的页面

var script = `function foo() {
  console.log('called foo');
}
//# sourceURL=my-foo.js`;

eval(script);

var button = document.getElementById("foo");
button.addEventListener("click", foo, false);

使用 //# sourceURL 指令,评估的字符串被命名为“my-foo.js”。然后,此源代码将在 源代码列表窗格 中列出,并且可以像任何其他源代码一样打开和调试。



源代码的名称也会出现在 Web 控制台 中出现的堆栈跟踪中。

调试器也会在未命名 eval 源代码中的 debugger; 语句处停止。