if()中的判断条件其实是转换成Boolean类型对Boolean类型的判断

String类型

var a="test";

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a="12"; //字符串类型

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a="undefined"; //"null" 也一样,这里都是为字符串,而不是null,和undefined

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a="";

if(a){

alert("yes");

}

else{

alert("no");

}

//no

Number类型

var a=1;

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a=Infinity;//无穷

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a=-1;

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a=0;

if(a){

alert("yes");

}

else{

alert("no");

}

//no

var a=NaN;

if(a){

alert("yes");

}

else{

alert("no");

}

//no

Object类型

var a={};//任何对象

if(a){

alert("yes");

}

else{

alert("no");

}

//yes

var a=null;

if(a){

alert("yes");

}

else{

alert("no");

}

//no

undefined类型

var a;//undefined

if(a ){

alert("yes");

}

else{

alert("no");

}

//no

以上几个类型都会隐式地转换为对Boolean的判断

Boolean类型

var b= false;

var a=new Boolean(b);//使用构造函数将Boolean对象保存在变量a中

if(a ){

alert("yes");

}

else{

alert("no");

}

//yes 因为这里的a是一个Boolean对象会被转为true 任何对象(除了null和undefined)都会转换为true

var b= false;

var a=Boolean(b);//这里是一个Boolean值

if(a ){

alert("yes");

}

else{

alert("no");

}

//no

最后归纳下

Boolean()对不同数据类型的返回值

数据类型 转换为true的值 false的值

String 任何非空字符串 ""(空)

number 任何非0(包括无穷大) 0和NaN

object 任何对象 null

undefined n/a(不适用) undefined

html 判断boolean,js关于if()else{}中的判定条件的认识,各种数据类型转换为Boolean类型的转换规则...相关推荐

  1. python集合类型中的元素是有序的_数据类型;有序集合类型(sorted set)

    有序集合sortedset 一特点 1.有序.去重 2.元素是字符串类型 3.每个元素都关联着一个浮点数分值(score),并按照分支从小到大的顺序排列集合中的元素(分值可以相同) 4.最多包含2^3 ...

  2. java判断输入值是否在数组_java判断特定值是否在数组中的方法

    java判断特定值是否在数组中的方法: 使用List:public static boolean useList(String[] arr, String targetValue) { return ...

  3. ECMAScript——基本数据类型之boolean

    布尔类型中 true/false !:首先将其他的数据类型转换为boolean类型,然后在把得到的布尔值取反 !3 --> false !!:将其他数据类型转换为布尔类型 和Boolean()效 ...

  4. js获取对象数组中指定属性值对象_3分钟学会操作JavaScript内置对象,快来试试吧...

    1 - 内置对象 1.1 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象. 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于 ...

  5. 原生JS灵魂之问(中),看看你是否熟悉JavaScript?

    笔者最近在对原生JS的知识做系统梳理,因为我觉得JS作为前端工程师的根本技术,学再多遍都不为过.打算来做一个系列,一共分三次发,以一系列的问题为驱动,当然也会有追问和扩展,内容系统且完整,对初中级选手 ...

  6. JS中编写函数去除HTML标签,js函数获取html中className所在的内容并去除标签

    js函数获取html中className所在的内容并去除标签 复制代码 代码如下: function queryClass(classnames){ var classobj= new Array() ...

  7. java怎么判断类相同_java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用“===”是什么意思...

    导航:网站首页 > java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用"==="是什么意思 java中如何判定两个对象属于同一类 两个对象是不是类的相同实 ...

  8. js检测数组对象中是否有重复值

    判断数组对象里的某个值是否都是同一个值 isRepeat=(arr)=> {var hash = {};for(let i=0;i<arr.length;i++){if (!hash[ar ...

  9. 判断一个js对象,是否具有某个属性

    一个对象,想必我们关注的最多的应该是它上面的属性有哪些吧.那么,怎么判断一个对象是否具有某个属性呢? 1 /*下面是一个对比,看看在判断是否包括一个键上面,Object结构和Set结构的写法不同.*/ ...

最新文章

  1. 如何安装altium designer 10
  2. XCTF WEB command_execution
  3. Java黑皮书课后题第6章:*6.4(反序显示一个整数)使用下面的方法体编写方法,反序显示一个整数…例如reverse(3456)返回6543,编写一个测试程序,提示用户输入一个整数,然后显示它的反序
  4. 使用JBoss EAP 7的HTTP / 2
  5. Hybrid A*论文解析(1)
  6. Microsoft Office无法找到此应用程序的许可证,修复尝试失败或者已被取消
  7. 约束和异常处理 20
  8. java工程师什么城市就业_热门城市的Java薪资情况
  9. [2018.07.17 T2] Palindromes
  10. simulink与gt联合仿真问题求解
  11. NPDP产品经理小知识-影响团队绩效的因素
  12. 高德地图刷新当前位置_定位-服务-教程-地图 JS API | 高德地图API
  13. OSError: [WinError 127] 找不到指定的程序。 Error loading “C:\Anaconda3\envs\Machine_Learning\lib\site-package
  14. C语言递归函数 写一个程序实现一个函数PrintN,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数
  15. Java汉字输入练习
  16. 新手学Python之学习官网教程(二: Using the Python Interpreter)
  17. 天选三超频实战/适用于所有AMD笔记本的全面超频指南:CPU频率,功耗墙,Infinity Fabric总线(FCLK),内存时序,CPU电压,核显频率,核显电压......
  18. ElasticSearch(7.2.2)-搜索的简单使⽤
  19. mac mysql 移动硬盘_Mac下无法推出硬盘
  20. mapping 映射的简单操作

热门文章

  1. 【他们都说 select * 不好,但是 。。。】
  2. C# ToString()用法汇总
  3. Screen OS 6.0 学习笔记一
  4. cronolog apache 日志分割
  5. KBMMW 4.80.00 发布
  6. java文件读写的两种方式
  7. java观察者设计模式
  8. 时间戳引起的网站访问不了的问题(net.ipv4.tcp_timestamps)
  9. linux 进程 地址空间 内存分布 简介
  10. python3 url编码 空格 + 简介