AI智能
改变未来

JavaScript基础02—运算符、循环


JavaScript基础

进制

常用进制

  • 二进制、八进制、十进制、十六进制

  • 颜色一般使用RGBA模式

    每个数值范围0~255,A表示透明度

  • #FF0000,数值越大颜色越亮,反之则暗

运算符

位运算符

  • 作用:代码不易被人看懂

  • & 位与运算

    运算规则,数字转为二进制,高位不足用0补齐,逐为进行与运算

  • 任何数(同次幂)与二的n次幂减一(7,15……)相与都是该数本身
  • 高次幂只考虑剩余几位,例如:37&7=(32+5)&7=5&7
  • | 位或运算

      任何数(同次幂)与二的n次幂减一(7,15……)相或都是该二的n次幂减一
    • 高位运算 原理同位与运算
  • ^ 位异或运算

      每位不同为1,相同为0
    • 一般用于加密解密
  • ~ 位非运算

      加1取负
    • 例:1=-2,-5=4
    • 用于判断元素有无
  • << 左位移

      1<<4=16
  • 右位移

  • 三目运算符

    • 条件?返回值1:返回值2

      判断条件是否成立,如果条件成立返回第一个值 否则返回:后面的第二个值

    • 如果表达式的结果转换为布尔值为真时,返回问号后面的值,否则返回冒号后面的值
    • 问号前面的内容会自动隐式转换为布尔值
  • 三目运算符比赋值运算(+=)优先级高

  • 当需要返回的是布尔值时,不要使用三目运算符

      例:var a=3>2 ? true : falase,可直接用var a=3>2;
  • 复杂条件处理尽量也不用三目运算符

  • 运算符优先级

    • . [] () 字段访问、数组下标、函数调用以及表达式分组
    • ++ – – ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
    • / % 乘法、除法、取模
    • 加法、减法、字符串连接
  • << >> >>> 移位
  • < <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
  • == != === !== 等于、不等于、严格相等、非严格相等
  • & 按位与
  • ^ 按位异或
  • | 按位或
  • && 逻辑与
  • || 逻辑或
  • ?: 条件
  • = oP= 赋值、运算赋值
  • , 多重求值
  • 流程控制语句

    条件语句

    • if

      if(条件){
      执行语句
      }

      如果条件表达式运算后隐式转换为布尔值是true,进入该条件语句

    • 条件不管什么表达式都会隐式转换为布尔值
    • !非 在条件语句中大量用!配合完成不是这种非真进入
    • 判断条件不限于ture和false
  • if……else

      if(条件){
      执行语句1
      }else{
      执行语句2
      }

      如果条件表达式运算后隐式转换为布尔值是true,进入执行语句1

    • 如果条件表达式运算后隐式转换为布尔值是false,进入执行语句2
  • if……else if……

      if(条件1){
      执行语句1
      }else if(条件2){
      执行语句2
      }else if(条件3){
      执行语句3
      }else{
      执行语句、……
      }


      if(条件1){执行语句1 }
      if(条件2){执行语句2 }
      if(条件3){执行语句3}
      不同之处:
      if……else if……仅执行其中一个条件结果
      if逐个条件都会判断,根据判断结果执行对应的内容

  • switch……case

      switch(表达式){
      case 值1:
      执行语句; break;
      case 值2:
      执行语句; break;
      case 值3:
      执行语句; break;
      case 值4:
      执行语句; break;
      default:
      }

      当表达式绝对等于(三个等号)值时,执行相应内容

    • default:默认以上条件都不满足时执行,后可以不写break
    • break 跳出当前条件,如果不写break,不判断值2是否相等,直接穿越(同时执行,直到break)
    • case后面的值,可以是结果,也可以是表达式
    • 通常用作写状态机

    循环语句

    • while

      while(循环条件){
      循环语句;
      }

      使用while 广度遍历,深度遍历
      深度遍历时,要求对象属性名相同。属性名不同时,用数组遍历名称。

    关键字

    • break

      跳出(结束循环)

    • 如果没有引用,只能用于跳出一个循环
    • abc(循环前增加ID): Break abc; 跳出锚点所在的循环(跳出到指定的ID位置)
  • continue

      继续(结束本次循环)
    • 遇到满足条件的跳到下一次循环继续向后,当前continue后面的语句不再执行
    • 当整个循环中遇到阶段性不需要执行的内容可以使用continue
    • 不论有无引用,都只能用于跳过一个循环

    XMind: ZEN – Trial Version

  • 赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » JavaScript基础02—运算符、循环