首页 > 在 JS 中已经使用 return false; 为何后面的代码依然可以执行?

在 JS 中已经使用 return false; 为何后面的代码依然可以执行?

我写了一个验证 手机号码 密码的 函数 如下

function validatePassword(password) {
    if (password.length == 0) {
        swal({
            title: "你好像忘记请填写密码了",
            text: "请输入用户密码",
            timer: 1700,
            showConfirmButton: false,
            type: "error",
        });
        return false;
    }
    if (password.length < 6) {
        swal({
            title: "密码太短了",
            text: "密码长度不能低于6位",
            timer: 1700,
            showConfirmButton: false,
            type: "error",
        });
        return false;
    }

    if (password.length > 16) {
        swal({
            title: "密码太长了",
            text: "密码长度不能高于16位",
            timer: 1700,
            showConfirmButton: false,
            type: "error",
        });
        return false;
    }
}

我调用了这个函数

按道理如果有错误 下面的 function_name();就不会被执行了?
为什么依然会执行呢?
结果如下

电子邮件和密码都没有填写 但是却弹出 function_name(); 执行的 内容切覆盖了原先的内容
swal() 函数 是一个美化弹出的库 地址如下 http://www.dglives.com/demo/sweetalert-master/example/


主函数没有返回,检验函数返回值没有利用


你只是在validatePassword方法内返回了false,并没有结束click时间啊?可以对validatePassword的返回值进行判断


var isValidate = validatePassword(password) ;
if(isValidate){

//do something

}


throw new Error("Something went badly wrong!");

应该这么写, 另外, 这里可以贴代码的

$('#btn_login_email').click(function () {
  var password = $('#email_password').val();
  var email = $('#email').val();

  if (!validatePassword(password)) return;
  if (!validateEmail(email)) return;
  function_name();
});
【热门文章】
【热门文章】