Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
x=10之间的Javascript差异;if(x)和if(x==10)_Javascript_If Statement - Fatal编程技术网

x=10之间的Javascript差异;if(x)和if(x==10)

x=10之间的Javascript差异;if(x)和if(x==10),javascript,if-statement,Javascript,If Statement,我从布尔的角度理解这一点 x=true; if(x)//这与if(x==True)相同 doSomething() 但是如果把x设为一个数字,那么if条件意味着什么呢? 该条件是否表示如果(x==true)?如果是,为什么会这样?在javascript中,下面的内容是错误的 false 未定义 null 0 ” NaN 除上述内容外的任何内容都是真实的,包括数字,除了0。因此10是一个真实值,因此执行if块。简言之如下: //!length = if(x.length); var a;

我从布尔的角度理解这一点

x=true;
if(x)//这与if(x==True)相同
doSomething()

但是如果把x设为一个数字,那么if条件意味着什么呢?
该条件是否表示如果(x==true)?如果是,为什么会这样?

在javascript中,下面的内容是错误的

  • false
  • 未定义
  • null
  • 0
  • NaN

除上述内容外的任何内容都是真实的,包括数字,除了
0
。因此
10
是一个真实值,因此执行
if
块。

简言之如下:

//!length = if(x.length);
var a;                                      //undefined == if(!a) == !length
var b = "";                                 //void  == if(!b)
var c = " ";                                //blank == if(c) == length
var d = "text";                             //there == if(d) == length
var e = true;                               //true == true == if(e)
var f = false;                              //false == false == if(!f)
var g = null;                               //false == if(!g) == !length
var h = 0;                                  //0 == if(!h)
var i = 1;                                  //true == if(i)
var j = 0/0;                                //NaN == if(!j)
var k = document.body;                      // == if(k)
var l = document.getElementById("nothing"); // if(!l) == !length
Javascript在检查“
null
”值方面非常灵活。我猜您实际上是在寻找空字符串,在这种情况下,这个更简单的代码可以工作:

if(!blah){
它将检查空字符串(
)、
null
undefined
false
以及数字
0
NaN

var-a//未定义==如果(!a)=!长度
var b=“”//void==如果(!b)
var c=“”//空白==如果(c)=长度
var d=“text”//这里==如果(d)=长度
var e=真//真==真==如果(e)
var f=假//false==false==if(!f)
var g=null//false==如果(!g)==!长度
var h=0//0==如果(!h)
var i=1//真==如果(i)
var j=0/0//NaN==如果(!j)
var k=document.body;//==如果(k)
var l=document.getElementById(“无”);//如果(!l)==!长度
康赛托尔(l);
功能控制台总计(bb){
consolea(bb);
consoleb(bb);
康索尔EC(bb);
安慰(bb);
安慰者(bb);
}
功能控制台A(bb){
如果(bb){
控制台日志(“是”+bb);
}
}
功能控制台B(bb){
如果(bb==真){
console.log(“true”+bb);
}
}
功能控制台(bb){
如果(bb==false){
控制台日志(“假”+bb);
}
}
功能控制台(bb){
if(!bb){
控制台日志(“否”+bb);
}
}
功能控制台(bb){
if(bb.长度){
控制台日志(“长度”+bb);
}

}
了解JavaScript中的真实/错误:inhttp://www.sitepoint.com/javascript-truthy-falsy/I 建议您阅读-->
if(x)
if(Boolean(x))
相等,无论
x
@Chintan的值现在是否合理。谢谢你的链接。@AlexanderO'Mara是的。那个也是假的。