一 、运算符
- 1.算数运算符
 
      + 、-、* 、 / 、 % 
- 2.拼接运算符
 
     + 
注意:拼接运算符,左右2边,出现字符串,就能实现拼接
- 逻辑运算符
 
     &&  与  找假,找到了假的,就不往后面执行,返回结果
     ||     或   找真,找到了真的,就不往后面执行,返回结果
     !     非
注意: &&  ,  || 又称之为 短路运算符
- 关系运算符
 
   >、>=、<、<=、 ==、 ===、 !=、 !==
关系运算符的比较规则:
1, 数字和数字比较, 直接比较大小
2, 数字和字符串比较, 字符串转换为数字后再比较
3, 字符串和字符串比较, 进行字符的ASCII码值比较比较注意事项:
1, 布尔值 ture=1, false=0
2, 只要不等于NaN, 就是true,其他有NaN的运算都为false
3, 如果要恒等, 则必须值和类型都要相等;- 
关系运算符 (特殊值)

 
注意 undefined == 0  undefined是undefined类型,0是数值类型,不能进行比较,所以是false
[]==![]  true  toString()后 "" 
{}==!{}  false toSting()后   NaN
0 == ''             // true
0 == '0'            // true
- 运算符优先级

 
- 赋值运算符
 
    +=、-=、*=、/=、%=
- 6.一元运算符
一元运算符,有称之为 自增与自减 
a++      先取值,后运算
++a      先运算,后赋值
a--, --a 同上
- 三目运算符
 
    表达式 ?  结果1:结果2
- 8.位移运算符
 
 2  >> 2  == 0   // 把2 的2进制数 向右边移动2位
 2  << 2  == 8
注意,位移运算符会把第一个数转成2进制,根据 位移符解决将2进制向左还是向右移动 n位,n就是符号后面的那个数,位移操作完成后,将新的2进制数转回10进制
二 、三大流程语句
程序的三大流程控制:
我们的计算机在执行一个程序的时候,最基本的方式是一条语句接一条语句的执行。但不可能所有的问题都能用顺序执行方式就能解决,总会有一些跳转。
采用结构化的程序设计,可以大大提高开发程序的速度、提高程序的可读性、程序运行的速度和效率。
结构化程序是由若干个基本结构组合而成,每一个结构可以包含若干条语句和其它基本结构。共有三种基本结构:
  顺序:从上朝下执行的代码就是顺序
  分支(选择):根据不同的情况,执行对应代码
  循环:重复做一件事情
1.if单分支
if条件判断语句的写法:
   if (表达式){
          执行语句
    }
当括号内的表达式结果成立(为true时),则执行大括号内的语句,否则不执行。
注意:
if后面的()不能省略。
一条执行语句可以省略{}, 多条时不能省略{}, 建议不管是一条还是多条都写上{}
IF双分支语句
if双分支语句的写法:
    if(表达式){
        执行语句1
    }else{
     执行语句2
   }
当if括号内的表达式结果成立,进入执行语句1,否则进入执行语句2;
- IF多分支语句
if多分支语句的写法: 
     if(表达式){
        执行语句1
      } else if(表达式2){
        执行语句2
      } else if(表达式3){
       执行语句3
      }else{
       执行语句n
     }
从上往下,满足哪个条件就执行其相对应的语句,都不满足时,执行最后的else的语句,只能进入其中之一。
- IF的嵌套
将整个if语句块插入另一个if语句块中if (表达式1) { if (表达式2) { if (表达式3) { 语句; } else { 语句; } } else{ 语句; } } 
注意: 嵌套if时, 内层的每一对if-else代码要缩进且对齐;编写代码时,else要与最近的if配对。
- Switch语句的写法:
 
    switch(表达式) {
     case 常量1: 语句; break;
     case 常量2: 语句; break;
    …
     case 常量n: 语句; break;
     default:语句; break;
}
 表达式的结果等于哪个case的常量,则执行其后的语句,执行完break就跳出switch结构,都不满足则执行default的语句。
 break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。
注意case穿透,要加break
switch的应用场景: 表达式为固定值, 不能判断范围
switch的比较是属于恒等于,也就是值与类型都要一致!










