语法

  • 通用错误
    • 执行到当前错误的时候才不会向下执行
  • 语法错误

    • 代码块代码不会执行
      1. /************************************************/
      2. //此时出现的是 通用错误 引用错误
      3. var a = 1,
      4. b = 2//此时出现了语法错误,c是不会输出的
      5. c = 3;
      6. console.log(c);
      7. /************************************************/
      8. //此时出现的是 ReferenceError 引用错误
      9. var a = 1,
      10. b = 2,
      11. c = 3;
      12. console.log(a,b,c)
      13. console.log(d);//d is not defined,a,b,c可以输出的
      14. /************************************************/
      15. //不同代码块之间的语句是不会相互影响的
      16. <script> console.log(a)</script>///此时a is not defined
      17. <script> console.log(1)</script> ///此时1 照样输出

      运算

  • 运算符 + - * / %

  • 注意
    1. string + 任何类型的数据都是string
    2. 非数(NaN=>Not a Number) 是Number类型
    3. Infinity -Infinity 是Number类型(1/0==Infinity,-1/0==-Infinity)
    4. 交换值:如下代码块(2-7)
    5. a++ ++a a— —a;//如上代码块(10-17)
    6. = >= <= <
      1. 字符串比大小比较ASCII码 “4.5”>”11” “1.5”<”11”从左到右依次对比。
      2. Number 比大小 直接比
      3. Number 和字符串比大小 将字符串转成Number 再进行比大小 1>’a’?false 1>NaN
      4. NaN==NaN false;因为NaN永远不等于任意值包括他自己)。
      5. ===全等(比较的是类型和值) ==相等(比较的是值)
        1. /************************************************/
        2. //交换值,在不声明另外一个变量的前提下交换值
        3. var a = 1,
        4. b = 3;
        5. a=a+b;//4
        6. b=a-b;//1
        7. a=a-b;//3
        8. /************************************************/
        9. //关于a++ a-- --a a--的算法
        10. // 表达式都是从左到右的开始计算
        11. var a = 5,
        12. b;
        13. b = a++ + 1; =>1 + a++ //第一种情况 a=6,b=6
        14. b = ++a + 1;//相当于a先进行了自加 然后再加1; //第二种情况 a=6,b=7
        15. b = a-- + a++;//相当于a =>4 + a++ // b=8,a=5
        16. b = a-- + a-- =>4 + a++ // b=8,a=3
        17. b = --a + --a =>4+3// b=7,a=3
        18. b = --a + a++; 4+4++//b=8,a=5

条件

  1. 条件互斥的情况下用If

    逻辑符号

    假的五种情况

    1. NaN;
    2. undefined
    3. null
    4. 0
    5. false
  2. 与&&
    1. 遇到真就往后走 直到遇到了假或者到了最后
      1. 1&&1==1&&0&&true;返回0
      2. 1&&0 返回0 false
      3. 0&&1 返回0 false
      4. 1&&1 返回1 true
      5. 0&&0 返回0 第一个0 false
  3. 或||
    1. 遇到假的就接着往后走 直到遇到真的或者到最后
      1. 0||0 返回0 false
      2. 0||1 返回1 false
      3. 1||1 返回1 false
      4. 1||0 返回1 false