我最近一直在讨论这个问题。我在chrome dev工具中使用源代码面板来调试一些javascript。在过去,我点击了一行,我希望调试器停止。行号变为蓝色,然后当我触发函数调用时,程序停止,我可以查看变量。
最近我遇到了一个情况,我尝试点击一个功能,但显示屏显示我没有设置断点。两个时间之间共同点是我正在使用Immediately Invoked Function Expressions(IIFE)。 是否有可能在没有访问源代码的情况下在iife中设置断点?
答案 0 :(得分:0)
您提到能够在IIFE中设置断点而无法访问源代码,因此我设置了两个示例,您可以尝试在无法访问源的位置,假设您的意思是本地磁盘。在任何一个例子中,我都可以在任何相关的IIFE线上设置断点,并按照预期使用Chrome进入/超过。
BTW - 在这两个例子中,我都没有遇到Chrome没有按预期设置断点的行为。
JSFiddle:https://jsfiddle.net/iamwaltuo/fu1pcwqf/
Dropbox: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>