首页 > 解决方案 > 为什么“if”语句没有正确检查变量的值?

问题描述

当输入的值为 null 但 if 语句不起作用时,我试图捕获元素。

for (let i = 0; i<esquema.length; i++){
    if (esquema[i].checked){
        console.log(esquema[i].value);
        if (esquema[i].value == null){
            console.log ("Actually null");
        }
    }
}

输出应该是

null
Actually null

但我得到的不是那个

null
undefined

有人可以帮我弄这个吗?

标签: javascript

解决方案


valueHTMLElement 的 要么不是undefined( <input>, <button>...) 元素,要么是字符串。因为它不是undefined(因为它记录null,并且null == undefined会是真的),所以它必须是"null"哪个会记录null但不等于null.

大多数控制台确实打印null并且"null"不同,但记录两者并比较结果以查看差异。


推荐阅读