js判断

自从接触js的真假判断后,感觉整个世界都发生了变化。一些不是boolean的东东可以参与if判断返回true和false。在C#中,只有布尔值或布尔表达式才可以参与if判断,进行流程控制。我总结了一下发现,在js里,一般认为有内容或存在的(值或对象,0除外)进行判断时就是true值,而没有内容或不存在的("",undefined,null等等)进行判断时就是false值。理解可能有些错误,万望指正。

1.数值类

在js中非0均为真,0为假

[javascript]  view plain  copy
  1. if(1){// -1,-1.1等等。返回值都为true  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  

[javascript]  view plain  copy
  1. if(0){// 返回false  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  

2.字符串类

在js中有内容的字符串返回true,而空字符串返回false

[javascript]  view plain  copy
  1. if(" "){// "ABC"同样返回true值  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  
[javascript]  view plain  copy
  1. if(""){// 此时返回false,因为该字符串中没有东西  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  
3.boolean类

true返回true,false返回false。c#只能用这种方式,js.........快哭了

[javascript]  view plain  copy
  1. if(true){// 返回true  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  
  6. if(false){// 返回false  
  7.     alert(true);  
  8. }else{  
  9.     alert(false);  
  10. }  

[javascript]  view plain  copy
  1. if(1>2){// 返回false  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  

4.特殊变量(可能叫数据类型)类

undefined、null、NaN等进行判断时默认为false

[javascript]  view plain  copy
  1. if(undefined){  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  
  6. if(null){  
  7.     alert(true);  
  8. }else{  
  9.     alert(false);  
  10. }  
  11. if(NaN){  
  12.     alert(true);  
  13. }else{  
  14.     alert(false);  
  15. }  
5.对象类

如果传入了一个对象(是object类型或function)进行判断,哪怕它内容为空,返回的仍是true。因为空对象是存在的。

[javascript]  view plain  copy
  1. if([]){// 空数组  
  2.     alert(true);  
  3. }else{  
  4.     alert(false);  
  5. }  
  6. if(new String("")){// 空字符串  
  7.     alert(true);  
  8. }else{  
  9.     alert(false);  
  10. }  
  11. if({}){// 空对象  
  12.     alert(true);  
  13. }else{  
  14.     alert(false);  
  15. }  
  16. if(function(){}){// 空函数  
  17.     alert(true);  
  18. }else{  
  19.     alert(false);  
  20. }  



初学js,一些知识点可能理解不到位,总结可能存在错误。选用时斟酌使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值