本文主要是介绍JS中数字,字符串,null和undefined转换为bool是true还是false总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们经常会遇到定义一个变量然后if判断这个变量的情况,如下面的练习题,经常弄混淆,现对不同数值类型总结如下:
练习题
var s="";
if(s)
console.log(1);
else
console.log(0);
问:输出什么?
1.字符串
1) var s="";//空字符串=======>为false
2) var s=" ";//空格==========>为true
3) var s="null";//=========>为true
4) var s="undefined";//=======>为ture
5) var s="true";//===========>为true
6) var s="false";//===========>为true
7) var s="0";//==============>为true
8) var s="1";//==============>为true
总结:只要字符串中有值则隐式转换为bool类型都为true,只有空字符串为false
2.数字
1) var s=0;//=================>为false
2) var s=1;//=================>为true
3) var s=-1;//=================>为true
4) var s=2.2;//=================>为true
总结:只要数字不为0则隐式转换为bool类型都为true,只有为0时为false
3)null
var s=null;//==================>为false
4)undefined
var s=undefined;//=============>为false
总结:变量隐式转换为bool类型时,只有空字符串,0,null 和undefined为false其余均为true
这篇关于JS中数字,字符串,null和undefined转换为bool是true还是false总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!