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

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

作者: 有点孤僻 | 来源:发表于2018-05-28 00:48 被阅读0次

    if条件判断

    if...else 条件判断的语法如下:

    if (条件)

    {

    当条件为 true 时执行的代码

    }

    else

    {

    当条件不为 true 时执行的代码

    }

    而在if条件中是6种由数据类型(ES6 新增了第七种 Symbol 类型的值)数值、字符串、布尔值、对象、undefined和null以及其中出现的运算符组成,根据运算规则对条件进行运算,但是最终的运算结果需要转换成布尔值,然后再进行判断TRUE还是FALSE,再执行代码。所以关键的就是了解这6种数据类型是怎么转化为布尔值的,以及运算符的优先级和运算规则。

    我们可以记住一些常用的规则以便帮助我们进行判断:

    在JavaScript中,If 语句判断为false的变量值为:

    false, 0, 0.0, null, undefined

    其他变量值判断为true:

    true, 1, [任何字串/数字]

    取反运算符(!),用于将布尔值变为相反值,即true变成false,false变成true。

    且运算符(&&)的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值。

    或运算符(||)的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为false,则返回第二个运算子的值。

    除此之外还有很多运算符及其规则,在编程的过程中如果忘记了,应该及时去查阅相应的文档。

    变量相等的判断

    在javascript判断两个变量值是否相等,可以使用==(相等)操作符 或者===(绝对相等)操作符

    == 操作符

    “相等”操作符,简单判断2个变量值是否相等,变量类型不一致时,会做类型转换,即忽略变量的类型进行比较

    例子1

    var str1 = "666" ; // 字符串

    var str2 = "666" ; // 字符串

    alert(str1==str2) ; // 打印出 true,即相等

    例子2

    var str1 = 666 ;  // 整型

    var str2 = "666" ; // 字符串

    alert(str1==str2) ; // 打印出 true,即相等

    差别:

    在例子1中,2个变量都是字符串类型(因为有引号),所以比较相等,打印出true;

    在例子2中,变量str1是整型,但是在做==比较时,javascript 发现 2个变量类型不一致,先做了类型转换(调用str1的toString方法,把str1转成字段串),再比较2者,因此值也相等,打印出true;

    === 操作符

    “绝对相等”操作符,先比较2个变量类型是否一致,不一致返回false,一致时,再比较2个变量的值是否相等

    例子1

    var str1 = "666" ; // 字符串

    var str2 = "666" ; // 字符串

    alert(str1==str2) ; // 打印出 true,即相等

    例子2

    var str1 = 666 ;  // 整型

    var str2 = "666" ; // 字符串

    alert(str1==str2) ; // 打印出 false,即不相等

    差别:

    在例子1中,2个变量都是字符串类型,且值都相等,因此打印出true;

    在例子2中,变量1是整型,变量2是字符串,类型不相等,因此打印出false ;


    相关文章

      网友评论

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

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