美文网首页
关于if(xx)和 a==b的判断

关于if(xx)和 a==b的判断

作者: BitterOutsider | 来源:发表于2019-01-11 18:28 被阅读4次

一、if

if语句是编程语言最常用的语句,语法:

if(condition){
    //true statement
}else {
    //false statement
}

其中condition可以是任意表达式,结果不一定是布尔值,JavaScript解释器会自动调用Boolean()将表达式结果转为布尔值,如果表达式为真执行第一个代码块内语句,如果为假执行第二个代码块内语句。
condition会根据不同的类型作相应的转换:

类型 转换后结果
Undefined false
Null false
Boolean 直接判读
Number -0,+0,NaN为false,其他的为true
String 空串("")为false,其他的为true,需要注意的是空白字符串(" ")也是为true
Object true

二、a==b

使用==的时候,JavaScript会帮我们做类型转换:
如果两个值类型相同,则执行严格相等的运算
如果两个值的类型不同,那么就好玩了,看下面吧
1、如果一个是null,一个是undefined,那么相等(可以硬背下来)
2、如果一个是数字,一个是字符串,先将字符串转位数字,然后在比较
3、如果一个值是true/false则将其转为1/0比较
4、如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较

类型 转换后结果
Undefined 不转换
Null 不转换
Boolean true为1,false为0
Number 即为数值
String 空串("")为0,空白字符串(" ")也是为0;“123”类型的字符串为里面的数值,“hello”类型的字符串为NaN
Object 根据valueOf或toString转换

相关文章

  • 关于if(xx)与a==b的判断

    关于if(xx)与a==b的判断 简单介绍下if(xx)和a==b的相关判断 if(xx)的判断 1.if(num...

  • 2019-05-17

    关于if(xx)和 a==b的判断 if(xx)的判断 括号中的xx会被强制转换为布尔类型,true 或者 fal...

  • 关于if(xx)和 a==b的判断

    if(xx) if后的括号里的表达式会被强制转换为布尔类型 number a = 1if(a){console.l...

  • 关于if(xx)和 a==b的判断

    if的判断 1.if(number)if后的括号里的表达式会被强制转换为布尔类型 例:当 if(number),0...

  • 关于if(xx)和 a==b的判断

    if的判断 原理 解密 对于括号里的表达式,会被强制转换为布尔类型 做几道测试题看一看 == 的判断 对于==的判...

  • 关于if(xx)和 a==b的判断

    if条件判断 if...else 条件判断的语法如下: if (条件){当条件为 true 时执行的代码}else...

  • 关于if(xx)和 a==b的判断

    if(xx)的判断 对于括号里的表达式,会被强制转换为布尔类型 转换规则是除了下面六个值被转为false,其他值都...

  • 关于if(xx)和 a==b的判断

    一. if(xx)的判断JavaScript 遇到预期为布尔值的地方(比如if语句的条件部分),就会将非布尔值的参...

  • 关于if(xx)和 a==b的判断

    if(xx)的判断 对于括号里的表达式,会被强制转换为布尔类型 类型 结果 Undefined ...

  • 关于if(xx)和 a==b的判断

    一、if(xx)的判断 对于if括号里的表达式,会被强制转换为布尔类型 当if括号里面的表达式为Boolean时,...

网友评论

      本文标题:关于if(xx)和 a==b的判断

      本文链接:https://www.haomeiwen.com/subject/gvffdqtx.html