可以 chrome 调试 iife javascript 吗?
is it possible to chrome debug iife javascript?
我最近运行经常关注这个问题。我进入 chrome 开发工具中的源代码面板以调试一些 javascript。过去,我单击了希望调试器停止的行。行号变为蓝色,然后当我触发函数调用时,程序停止,我可以查看变量。
最近我 运行 有几次遇到这样的情况,我尝试点击一个函数,但显示显示我没有设置断点。两次之间的共同点是我正在使用立即调用的函数表达式 (IIFE)。
是否可以在没有访问源代码的情况下在 iife 中设置断点?
您提到无需访问源代码就可以在 IIFE 中设置断点,因此我设置了两个示例,您可以在无法访问源代码的地方尝试,假设您指的是本地磁盘。在任一示例中,我都能够使用 Chrome.
在任何相关的 IIFE 行和步骤 into/over 上设置断点
顺便说一句 - 在这两个示例中,我都没有遇到 Chrome 没有按预期设置断点的行为。
JSFiddle:https://jsfiddle.net/iamwaltuo/fu1pcwqf/
投递箱:https://www.dropbox.com/s/khlmi6c2fezv0tn/iifetest.html?raw=1
<html>
<head>
<script type="text/javascript">
(function () {
var i = 0;
console.log("i = " + i++);
console.log("i = " + i++);
})();
</script>
</head>
<body>
Check the console
</body>
</html>
我最近运行经常关注这个问题。我进入 chrome 开发工具中的源代码面板以调试一些 javascript。过去,我单击了希望调试器停止的行。行号变为蓝色,然后当我触发函数调用时,程序停止,我可以查看变量。
最近我 运行 有几次遇到这样的情况,我尝试点击一个函数,但显示显示我没有设置断点。两次之间的共同点是我正在使用立即调用的函数表达式 (IIFE)。 是否可以在没有访问源代码的情况下在 iife 中设置断点?
您提到无需访问源代码就可以在 IIFE 中设置断点,因此我设置了两个示例,您可以在无法访问源代码的地方尝试,假设您指的是本地磁盘。在任一示例中,我都能够使用 Chrome.
在任何相关的 IIFE 行和步骤 into/over 上设置断点顺便说一句 - 在这两个示例中,我都没有遇到 Chrome 没有按预期设置断点的行为。
JSFiddle:https://jsfiddle.net/iamwaltuo/fu1pcwqf/
投递箱:https://www.dropbox.com/s/khlmi6c2fezv0tn/iifetest.html?raw=1
<html>
<head>
<script type="text/javascript">
(function () {
var i = 0;
console.log("i = " + i++);
console.log("i = " + i++);
})();
</script>
</head>
<body>
Check the console
</body>
</html>