在我试图调试的一些代码中,有一部分看起来像这样:
(function() {
(function(f) {
(function a() {
try {
function b(i) {
if (('' + (i / i)).length !== 1 || i % 20 === 0) {
(function() {}
).constructor('debugger')();
} else {
debugger ;
}
b(++i);
}
b(0);
} catch (e) {
f.setTimeout(a, 5000)
}
})()
})(document.body.appendChild(document.createElement('frame')).contentWindow);
}
)
每当您打开开发人员工具时,它都会不断打破。在chrome中,您可以禁用所有断点以超越此值,但不能在代码中的任何其他位置设置断点。在Firefox中,我无法超越这个,如果我禁用所有断点,它似乎在这里无限突破。