JavaScript运算符和逻辑分支

一、运算符
1.一元运算符优先级

2.运算符之间的比较关系

  • String与Number之间的比较关系(字符串会自动转换成数值)
  • undefined与null(undefined是null衍生出的,对应的值相等,但对应的数据类型不同)
  • 字符串与字符串(字符串与字符串之间的比较会自动转换为ASCII码进行比较,但只会比较第一位ASCII码)
  • Boolean与null(布尔类型与null之间比较会自动转换为数值进行比较,但出现NaN时会变成false)
  • 全等比较(比较的数据类型之间类型与数值都会进行比较,只有当类型和数值都相等时才会相等)

3.逻辑运算符

  • 与运算符 && (只有当&&前后都为ture时才会显示ture,如果前面的为false则不会看后面的直接显示false)
  • 或运算符 || (只要有ture时就会显示ture,如果都为ture则会显示第一个为ture的,都为false时则会显示最后一个为false的)
  • 非运算符 ! (取反操作)
  • 三目运算符 ?:: (三目运算符的优先级低于逻辑运算符,如果出现false直接取得false,都是ture就取最后一个)

二、条件控制语句
1.if else if else

  • 语法:if (条件){
    代码块
    }else if (条件) {
    代码块
    }else{
    代码块
    }
  • else if语句可以根据已知条件增加或者减少
  • 如果代码只有一行的话{}可以省略不写
  • 执行顺序从上往下依次执行,有满足条件的出现时就不会向下执行
  • if语句与if语句之间可以嵌套使用来增加更多限制条件来使代码逻辑更加完善

2.switch语句

  • 语法:switch (声明的变量){
    case ' ' :代码块
    break
    case2 ' ' :代码块
    break
    ...
    default:代码块
    }
    其中case中' '与声明的变量之间进行恒等比较,break用来跳出整个代码块,default为默认代码块当上面所有的都不执行就会执行default中的代码块,switch语句具有穿透性不加break的话会从第一个满足条件的语句一直执行到最后一句
  • 多个case写在一起时候表示这两个case执行同一个代码块

3.if语句与switch语句的区别

  • 首先if语句能够执行区间数值型也能够执行固定值型,但switch语句只能执行固定值型的
  • if语句与switch语句的执行效率是不同的(如果只有一行代码那么if语句的效率高于switch语句,多行代码时switch语句效率更高,switch语句在工作时开辟多个内存空间从而使得多行代码效率更高,if语句只是一条一条语句从上往下执
    行所以执行多行代码时的效率会低于switch语句

posted on 2022-07-26 19:31  小生南骆  阅读(6)  评论(0编辑  收藏  举报

导航