js中各种类型的变量在if条件中是true还是false,jsfalse

如题所述

js的弱类型让人感觉很多东西都比较迷惑,例如变量在if条件中到底是true还是false,如果在强类型语言中将一个非boolean类型的变量放在if条件中时,是需要进行类型转换的,但是js不需要,下面来进行测试,测试常见的变量类型在if条件中的表现

!function test1(){

<span style="color:#ff0000;">var a,b=-1,c= 1,d= 0,e=null,f=undefined,g='',h="";</span>
if(!a){
console.log('a='+a)
}
if(!b){
console.log("b="+b)
}
if(!c){
console.log("c="+c)
}
if(!d){
console.log("d="+d)
}
if(!e){
console.log("e="+e)
}
if(!f){
console.log("f="+f)
}
if(!g){
console.log("g="+g)
}
if(!h){
console.log("h="+h)
}

}()

设定了各种变量类型,分别放入if条件中

执行结果
a=undefined
d=0
e=null
f=undefined
g=
h=
i=false

js中的if()判断成立与否的条件是不是只有true跟false

if(){
语句
}
当括号里面的值为0 空字符 false null undefined 的时候就相当于false 则不执行语句 除此之外的值就执行语句

javascript中 if(变量)与if(变量=true)的不同

var a;//定义一个变量没有初始化if(a){alert(1)
return};//这里不会执行,因为a没有值,所以为false;a=0//这里给a赋值为0if(a){alert(1)
return};//在来执行这句话,因为a=0;0代表false,所以还是不执行;a=1或者a=“123”;if(a){alert(1)
return};//这里a=除0以为的数,或者字符或者obj都表示为真,这里的alert就会执行! 在来看第二种情况;
var
b;if(b=="")和if(b==null)这里谁会执行呢,当然是后面一种,因为b是没有定义值的,如果是var
b="",这样的话就会执行第一种;b =
1;if(b==1)和if(b=="1")这里哪一种会执行呢,答案是两种都会执行!因为js的==表示的是数值相等;谢谢,希望楼主可以理解!
还有就是楼主的这种情况:
var
c;c=0;if(c==false)会不会执行呢,答案是肯定的;c=1;if(c==true)也一样会执行!但是我们看下面这样会执行么?c=2或
者c="admin"if(c==true)alert(1)这句话会执行么,答案是否定的,因为默认表示的是,0为false而1为true,对于其他
的就没有这么定义,所以这里不会执行,当然如果你是这样if(c)那这里就会执行了!
温馨提示:内容为网友见解,仅供参考
无其他回答

js中各种类型的变量在if条件中是true还是false,jsfalse
i=false js中的if()判断成立与否的条件是不是只有true跟false if(){ 语句 } 当括号里面的值为0 空字符 false null undefined 的时候就相当于false 则不执行语句 除此之外的值就执行语句 javascript中 if(变量)与if(变量=true)的不同 var a;\/\/定义一个变量没有初始化if(a){alert(...

js中各种类型的变量在if条件中是true还是false
如果操作数是任意非0数值(包括Infinity),返回true 如果操作数是null,返回false 如果操作数是NaN,返回false 如果操作数是undefined,返回false

js中if条件判断
JavaScript中条件判断基于布尔类型,仅包含真(true)与假(false)。表达式的结果将转换为布尔值。例如,`d == 5` 表达式用于检查`d`是否等于5,如相等则结果为真(true),反之为假(false)。若表达式结果为:`false`,`0`,空字符串`""`,`NaN`,`undefined`,`null`,则为假(false)。否则,无论...

javascript中if条件判断的相关细节
首先,`if`的条件判断可以接受的值有布尔变量`true`和`false`,其他类型的数据会被隐式转换为`true`或`false`。例如,使用`var i = -1; if(i){ alert('here'); }else{ alert('test is ok!'); }`来判断`i`的值是否为负数,实际上该判断为`true`,因此会弹出`here`提示。接着,对于...

javascript中 if(变量)和if(变量=true)的区别
首先,变量=true这个是会出错的,因为变量被赋值为true了,正确写法变量==true。或者养成习惯,true==变量,将变量写在后面,就不容易出现赋值的错误了。if(判断表达式){ 执行内容 } 如果判断表达式为true,则执行括号中的内容。这里,变量如果不为0,null,undefined,false,都会被处理为true。只要变量...

js中的if条件竟然可以这样写???
b=2, c=3这样的赋值表达式会正常执行,但a最后的值是true,也就是4==4的结果,true;如果换成4==5,a就是false了 而 && 表达式是只要其中一个为假,那么整个表达式就是假 逗号表达式(s=a, b, c, ..., n)s的值就是n的值,与前面的都没有关系,只是正常的执行罢了,不会影响结果 ...

js中的 是什么意思?
在js中,除了undefined、null、0、NaN、空字符串('')和false外,其它的值都被视为真值。可以使用if、while等语句进行条件判断,根据表达式的真假来决定进行哪些操作。例如,if (x === 5) {console.log("x等于5")},这个语句的意思是判断变量x是否等于5,如果是则输出“x等于5”。2...

js if(!!!e) {} 判断条件中的三个感叹号什么意思
两个感叹号的意思就是,将变量转换为其对应的布尔值。!!e就是e对应的布尔值,true或者false。!!!e==!(!!e)==!true\/!false=false\/true;转载于:https:\/\/www.cnblogs.com\/herizai\/p\/8459898.html

js里面某某=true 是什么意思?
js里面某某=true,就等于给某变量赋值,true就是让这个变量为真。因为在js中很多地方会用到条件判断。比如用户名输入:检测用户输入内容,如果不为空,那么就是变量flag赋值true,为空就赋值false。然后根据flag的值进行不同操作,其实就是根据用户输入内容是不是为空来操作。

js if语句只写一个参数是什么意思?
要知道if里面的返回值是true或是false,那么只要括号里随便一个数都可以,\\x0d\\x0a\\x0d\\x0aa=0,那么if条件就是false了\\x0d\\x0a\\x0d\\x0a布尔值,javascript中以下值会被转换为false\\x0d\\x0afalse\\x0d\\x0aundefined\\x0d\\x0anull\\x0d\\x0a0\\x0d\\x0a-0\\x0d\\x0aNaN\\x0d...

相似回答