小编Sur*_*mar的帖子

Javascript假值(null,undefined,false,空字符串:""或''和0)和比较(==)运算符

当我使用的值中的任何一个(null,undefined,false,'',0在一)if声明中,它始终评估为谬误(false).此外,这些值((的否定null,undefined,false,'',0)在if声明中始终评估为重言式(true).

 if(null){
 }else{
 }

 if(undefined){
 }else{
 }

 if(false){
 }else{
 }

 if(''){
 }else{
 }

 if(0){
 }else{
 }
Run Code Online (Sandbox Code Playgroud)

在所有上述情况中,if语句被评估为false&elsestatement执行.但是,当我将这些谬误值与==运算符进行比较时,它并不true总是返回.令人惊讶的是,true当我比较这些值的否定时,它总是返回值.

如果double equalto(==)运算符检查/比较值而不是严格的类型,那么为什么:

null == false          // returns false

null == 0              // returns false

null == ''             // returns false
Run Code Online (Sandbox Code Playgroud)

但, …

javascript null undefined

19
推荐指数
2
解决办法
3万
查看次数

标签 统计

javascript ×1

null ×1

undefined ×1