如何在Javascript中测试null值条件
How to test the null value condition in Javascript?
下面是代码,
<p id="sayHello"></p>
<script type="text/javascript">
var yourName = window['prompt']("What is your name?");
if (yourName != null) {
window['document']['getElementById']("sayHello").innerHTML = "Hello " + yourName;
} else {
window['alert']("Please enter your name next time");
}
</script>
其中else
块需要基于prompt
中给出的输入来执行。
在prompt
框中应该输入什么来测试基元类型Null
的null
值?
当您在提示框上单击取消时,else块将被执行。
根据MDN窗口。编译文档:
如果用户在没有输入任何文本的情况下单击"确定",则返回一个空字符串。
因此,您确实希望检查if (yourName !== null && yourName !== "")
,因为提示确实返回了空字符串(因此导致else
子句执行错误,因为它通过了非空检查)。
我认为您实际上在寻找空字符串。null也是基元值&null表示一个"空"值,即不存在对象值。因此,为了检查null,我们可以使用
if(somVar === null && typeof somVar ==='object')
所以你可以安排你的代码作为
var yourName = window['prompt']("What is your name?");
if (yourName === null & typeof(yourName) ==='object') {
alert("Please enter your name next time");
} else {
document.getElementById("sayHello").innerHTML = "Hello " + yourName;
}
还要注意,这将ONLY测试null,并且不会通过"",undefined,false,0
&NaN
。除了有任何理由使用之外
window['document']['getElementById']("sayHello")
什么时候可以像一样完成
document.getElementById("sayHello").innerHTML
如果您正在检查空字符串,那么您还必须验证输入不是空
演示
相关文章:
- 数组在递归方法中设置为null
- 通过js在新选项卡中有条件地打开url
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- jQuery-有条件地附加HTML
- 根据某些条件在视图之间切换
- 如何做到这一点,使代码在不传递条件后执行函数
- 有条件更新d3.js力图中节点的最佳方法
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- javascript中的布尔条件
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 带Promises的条件返回:抛出vs返回null
- 零元素条件中的错误“;如果“;未捕获的类型错误:无法读取属性'1'为null
- 如何在Javascript中测试null值条件
- JavaScript中不等于Null条件
- 为什么 null 未在条件语句中转换为布尔值
- 条件必选getInitialState- if value为null
- ES6/2015中的null安全属性访问(和条件赋值)
- 带有null条件错误的Javascript IF语句
- js条件:如果不是false、null或undefined,那么
- 使用 null 作为条件的简单 js 循环