【发布时间】:2014-02-14 00:10:13
【问题描述】:
我想在另一个 JS 函数中插入我的 debugger 函数并停止执行。
我知道 return false/true 可以完成这项工作,但我希望我的调试器功能能够自动完成。
示例:
<script type="javascript">
function validateFirstName () {
//validating first name field
var fn = $('#firstname').val();
if(fn == "") {
$("#errorMsg").html("Please insert first name");
$("#firstname").focus();
return false;
}
debugger(); //I want to stop everything here
// if validation passes, redirect browser:
window.location = 'nextpage.html';
}
function debugger () {
console.log("Some custom message here");
return false;
}
</script>
您会注意到我将debugger 函数放在validateFirstName() 函数中。
我假设我的debugger() 函数中的return false 将阻止validateFirstName() 执行。但事实并非如此。
如果不在validateFirstName() 函数中添加return false,我如何使用我的debugger() 函数来停止所有执行?
【问题讨论】:
-
在你的调试器函数中,抛出“原因就在这里”;
-
您是否意识到浏览器有一个
debugger;声明,您现在正在覆盖它! MDN Debugger -
您可以使用提到的内置调试器语句 epascarello 而不是创建自己的调试器函数。
标签: javascript function debugging