Javascript 条件句或陈述句困难

Javascript 条件句或陈述句困难,javascript,Javascript,我在一个HTMLCollection中迭代查找innerText,如果有innerText,我就会知道页面上有错误。但是,在某些情况下,innerText===未定义,而在其他情况下,innerText===因此我在if块中有一个or语句 我的想法很简单: if(err_field[field].innerText !== undefined || err_field[field].innerText !== ""){ no_error = false; } 这不起作用,我

我在一个HTMLCollection中迭代查找innerText,如果有innerText,我就会知道页面上有错误。但是,在某些情况下,innerText===未定义,而在其他情况下,innerText===因此我在if块中有一个or语句

我的想法很简单:

if(err_field[field].innerText !== undefined || err_field[field].innerText !== ""){
      no_error = false;
    }
这不起作用,我可以注销每个字段的内部文本,并清楚地看到它们要么是未定义的,要么是未定义的

因此,在与这些变化纠缠了半个小时后,我改变了策略:

    if (err_field[field].innerText === undefined || err_field[field].innerText === "") {
    }else {
      no_error = false;
    }

这很有效。为什么?据我所知,这只是上面的一个倒数,包括一些额外的开销和一个不必要的else语句。我错过什么了吗?我尝试了几种变体,包括if err_field[field].innerText | |。。。如果出现错误,则返回字段[field].innerText!=空| |。。。除了上面的例子之外,没有任何效果。

使用您发布的第一个块,而不是使用或和条件,只有这样,您才能确保当前元素没有innerText。

如果!err_字段[field]。内部文本就足够了。听说过价值观吗?啊!谢谢你,我不知道那是falsy。如果你把这个作为一个答案,我会接受,因为它是如此简洁,否则我会接受当前的答案,因为这是正确的。