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

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

作者: 5吖 | 来源:发表于2018-10-23 17:16 被阅读0次

if(xx)
对于if(xx),是把xx转换成boolean在进行判断
如果括号内是boolean,直接判断。否则括号里的表达式会被强制转换成boolean,转换规则如下:

1.if(number)
当 if(number),+0,-0,NaN会被转换为false,其他会被转换为true


1.jpg

2.if(string)
当 if(string),空字符串为false,其他为true


2.jpg

3.if(boolean)
当 if(boolean),直接判断


3.jpg

4.if(object)
当 if(object),转换为true


4.jpg

5.if(undefined)
当 if(undefined),转换为false


5.jpg

6.if(null)
当 if(null),转换为false


6.jpg

a==b
对于a==b,是将两边转换成数值进行判断
对于相同类型的a、b,相等的判断较简单。以下主要讨论不同数据类型的a、b之间进行相等运算时的判断

  1. string == number
    结果为 toNumber(a) == b ,当a无法转换为number时判断相等为false


    7.jpg
  2. boolean == (any)
    Boolean在相等运算时会转换为数值,true为1,false为0。

8.jpg
  1. object == number/string
    object会试图使用valueOf和toString转换后比较
9.jpg
  1. null == undefined //true

相关文章

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

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

  • 2019-04-07

    JS中关于if(xx)与a==b的判断 if(xx)的判断 1.if(number) 当if中是number为+0...

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

    if(xx)对于if(xx),是把xx转换成boolean在进行判断如果括号内是boolean,直接判断。否则括号...

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

    1. if(xx)的判断 括号里的表达式,会被强制转换为布尔类型,原理如下表: 转换结果示例:Undefined ...

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

    if(xx) 判断原理: 对于if()里括号的表达式(如以下),会被强制转换为布尔类型 if条件句中有几种转化类型...

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

    if(xx)的判断 1.if(number) 当 if(number),0、NaN为false,其他值为true ...

  • 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 的判断

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