if(var)vs。if(var!=“”)

时间:2014-02-11 09:26:39

标签: javascript html textbox

样品:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Check Text Field Value</title>
    <style>
    </style>
</head>

<body>
    <textarea rows="5" cols="35" id="field" oninput="indicate();"></textarea>
    <div id="indicator"></div>
    <script>
        function indicate() {
            var field = document.getElementById('field');
            var indicator = document.getElementById('indicator');
            if (field.value) {
                indicator.innerHTML = 'Some content';
            } else {
                indicator.innerHTML = 'No content';
            }
        }
        indicate();
    </script>
</body>

</html>


演示:http://jsfiddle.net/RainLover/eZaRd/

我想检查文本字段是否为空。我看过很多问题和答案,其中一些使用if (textarea.value),一些使用if (textarea.value != "")。或者以下一对:
if (!textarea.value)if (textarea.value == "")

我想知道它们之间的区别是什么。

1 个答案:

答案 0 :(得分:1)

如果你只是写if (textarea.value),它将对文本区域的所有真值都返回true。对于所有的虚假值,它将返回false,如NaN,undefined,null或“” 在其他情况下if (textarea.value = ""),仅当文本区域的值为“”时,它才会返回true。

你应该用!!运算符检查两种方案(未定义和空),如下所示:  if(!! textarea.value)