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

作者: 柳岸花茗 | 来源:发表于2018-09-05 10:53 被阅读4次

    1.if条件判断语句

      JavaScript中流程控制语句是十分重要的的,主要包括:if条件判断语句,for循环语句,while循环语句,do...while循环语句,break语句,continue语句和switch语句等七种语句。
      if语句是最基本的条件判断语句,根据表达式的条件来执行相应的处理。
      if条件判断语句的基本语法:

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

      其中condition可以是任意表达式,结果不一定是布尔值,JavaScript解释器会自动调用Boolean()将表达式结果转为布尔值,如果表达式为真执行第一个代码块内语句,如果为假执行第二个代码块内语句
    只有一条语句的时候代码块不是必需的,出于维护性考虑我们建议添加.

    if语句也可以单独进行使用

    if(condition){
    }

    也可以和else if相结合,进行多个条件的判断

    if(conditoon1){
      statement1
    }else if(condition2){
      statement2
    }else if(condition3){
      statement3
    }else{
      statement4
    }

    2.a==b的判断

      在学习运算符的时候,比较容易把a=b,a==b和a===b混淆,所有我们要分清楚=,==,===这三个符号的区别。

    • =:赋值运算符,常用于给变量赋值。并不能理解为数学运算中的相等,而是把=右边赋值给=左边。
    • ==:比较运算符,比较两个值,然后返回一个布尔值,表示是否满足比较条件,表示相等。
    • ===:比较运算符,比较两个值,然后返回一个布尔值,表示是否满足比较条件,表示严格相等。

    由上可见,==和===都表示相等,它们两个有什么区别呢?
    ===是严格意义的相等,只需注意NaN和NaN不等就行了。而使用==的时候,javascript会帮我们做类型转换,造成一些匪夷所思的结果,那么使用==的时候会在哪些情况下做类型转换,又会换成什么样子?

    如果两个值类型相同,则执行严格相等的运算
    如果两个值的类型不同
    如果一个是null,一个是undefined,那么相等
    如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
    如果一个值是true/false则将其转为1/0比较
    如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
    其它就不相等了

    null==undefined;
    NaN==NaN
    "1"==true

    相关文章

      网友评论

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

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