Javascript jshint-如何修复我的if语句

Javascript jshint-如何修复我的if语句,javascript,jshint,Javascript,Jshint,这段代码工作得很好…尽管可能很难阅读。不过,我希望遵守jshint.com,并使其更具可读性 有这么多不同的方法来改变这个我不知道最好的方法是什么 基本上,我需要能够打开/关闭客户端验证。如果数据经过验证,我就会向服务器发出ajax调用 当我写这篇文章时,感觉像是一个黑客,尤其是使用client_fail(即用于确定客户机是否通过了验证) 对于此代码 function interface_signin() { var form_name='signin', form_elem

这段代码工作得很好…尽管可能很难阅读。不过,我希望遵守jshint.com,并使其更具可读性

有这么多不同的方法来改变这个我不知道最好的方法是什么

基本上,我需要能够打开/关闭客户端验证。如果数据经过验证,我就会向服务器发出ajax调用

当我写这篇文章时,感觉像是一个黑客,尤其是使用client_fail(即用于确定客户机是否通过了验证)

对于此代码

function interface_signin()
  {
  var form_name='signin',
      form_elements=document.forms[form_name].elements,
      response_div='signin_response',
      client_fail=0;
  if(arc.client_validation===1)
    {
    (client_fail=1)&&check_empty(form_elements,response_div,messages.empty)&&check_item(patterns.email,form_elements[0],response_div,messages.email)&&check_item(patterns.pass,form_elements[1],response_div,messages.validate)&&(client_fail=0);
    }
    if(client_fail===0){ajax('arche_model.php',serialize(form_name)+'&a=signin',ajax_signin,response_div);}
  }
我收到错误

Line 466: (client_fail=1)&&check_empty(form_elements,response_div,messages.empty)&&check_item(patterns.email,form_elements[0],response_div,messages.email)&&check_item(patterns.pass,form_elements[1],response_div,messages.validate)&&(client_fail=0);

需要一个赋值或函数调用,而看到的是一个表达式。您的第一个和最后一个条件是赋值:

(client_fail = 1)
... && (client_fail = 0)
同样,
boss:true
开关


请使用更多的空格。

为了使其更具可读性,我将操作行更改为:

client_fail = !(
       check_empty(form_elements, response_div, messages.empty)
    && check_item(patterns.email, form_elements[0], response_div, messages.email)
    && check_item(patterns.pass, form_elements[1], response_div, messages.validate));
而不是设置标志并在成功时取消它们。
而不是检查
客户机故障===0
只需检查
!客户机故障

这是关于我如何清理它的:

function interface_signin() {
    var form_elements = document.forms.signin.elements,
        response_div  = 'signin_response',
        client_fail   = false;

    if(arc.client_validation === 1) {
        client_fail = check_empty(form_elements, response_div, messages.empty) &&
                      check_item(patterns.email, form_elements[0], response_div, messages.email) &&
                      check_item(patterns.pass, form_elements[1], response_div, messages.validate);
    }

    if(!client_fail) {
        ajax('arche_model.php', serialize(form_name) + '&a=signin', ajax_signin, response_div);
    }
}

我不再相信这些问题属于这里,而是在codereview.stackexchange.com上。@stack.user.0:噢,我现在刚刚编辑了它-
if(client\u fail)
应该是
if(!client\u fail)
。我认为逻辑已关闭。如果我关闭验证怎么办?…只需翻转两个变量…并进一步清理。我将变量名称更改为client_pass…并将其初始化为true…如果验证失败…将其设置为false。。。。