2 回答

TA贡献1909条经验 获得超7个赞
null
、undefined
和空字符串 ( ""
) 都是 JavaScript 中的“假”值;这意味着如果将它们传递给!
运算符,结果将为true
。您可以在控制台中通过运行!("")
、!(null)
或 (for undefined
) 通过定义var x;
然后调用来测试这一点!x
。
更重要的是,if
语句实际上并不检查其条件是否等于true
,而是检查条件是否为“真”(即false
通过时计算为!
)。
因此,您需要做的就是将语句的条件设置if
为document.getElementById('typer').value
,因为只要元素的值不为 null、未定义或空字符串(或 false,这也是 falsey),则条件为 true 。

TA贡献1842条经验 获得超21个赞
对于<input type="text">
,文档指出其属性的类型.value
是 a DOMString
。
DOMString
是一个 UTF-16 字符串。由于 JavaScript 已经使用此类字符串,DOMString
因此直接映射到String
.
这意味着.value
永远不会是null
或undefined
;有了这些知识,当您想知道某个值是否存在时,您可以做两件事:
用于
value.length
判断字符串是否为空在语句中使用
value
or!value
本身来if
分别确定它是否存在或为空(空字符串的计算结果为false
,而非空字符串的计算结果为true
)
- 2 回答
- 0 关注
- 93 浏览
添加回答
举报