javascript - JavaScript 函数中的字符串或 Null 检查

标签 javascript null logical-operators

单击按钮后,应验证 id 值,如果该值不是 NA 或 null,则应加载页面,否则应抛出警报。

 <a href="#" id="check" class="button" onclick="id_check()">View ID</a><br><br>

function id_check() {
    if (id != "NA" || (id != null)) {
        // load diff page
    } else {
        alert("Something Wrong");

    }
}

但是 or ( || ) 的 if 条件没有按预期工作。当我比较 id != "NA"时它工作正常。我在这里错过了什么?

最佳答案

这里要理解的重要一点是 || 运算符将结果短路。这意味着,如果第一个表达式的计算结果为真,那么该值将立即返回。根本不会计算第二个表达式。

在你的例子中,id != "NA"|| id != null,如果数据为null,则id != "NA" 检查将返回true。所以,第二部分根本没有检查。

由于您希望输入数据不是NAnull,因此您可以在此处使用&& 运算符,例如id ! = "NA"&& id != null

注意 if != null 将返回 false,如果 idundefined,因为 != 会强制表达式。因此,最好使用严格的相等比较运算符。因此,条件将变为 if id !== "NA"&& id !== null

关于javascript - JavaScript 函数中的字符串或 Null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33183465/

相关文章:

objective-c - NSJSONSerialization 和 NSNull

Javascript "Uncaught SyntaxError: Unexpected token ;"错误

Android:存储在数据库中的缩略图返回空

java - Android FragmentActivity 在 getActionBar() 中返回 null

BASH 脚本不解释逻辑 Not in glob 表达式

r - 当列包含因子时,使用OR子集数据框

javascript - 基于其他Select字段选择ant design更新Select Option列表

javascript - 将事件添加到 bar highchart 的 x 轴标签

javascript - jQuery UI 工具提示,我可以从中复制文本吗?

scala - 光滑的过滤器或不再支持逻辑操作的地方?