3-2 语法、规范、错误、运算符、判断分支、注释

1. 错误

MDN错误列表

Uncaught SyntaxError: Unexpected token ')' // 语法错误
Uncaught ReferenceError: a is not defined // 引用错误等类型
Uncaught TypeError: Cannot read property 'toString' of null
  • 出现一个语法错误,则一行代码都不会执行
    3-2 语法、规范、错误、运算符、判断分支、注释_第1张图片
    3-2 语法、规范、错误、运算符、判断分支、注释_第2张图片

  • 出现语法错误,则中断错误处及之后的代码
    3-2 语法、规范、错误、运算符、判断分支、注释_第3张图片

  • html内写脚本,脚本代码块之间互不影响,无论其中一个脚本报语法错误还是通用错误
    3-2 语法、规范、错误、运算符、判断分支、注释_第4张图片
    3-2 语法、规范、错误、运算符、判断分支、注释_第5张图片

2. 运算

  • 0 / 0 得到NaN是number类型(NaN与包括自己在内的任何东西都不相等)
  • 1 / 0 得到Infinity 是number类型
  • -1 / 0 得到-Infinity是number类型
  • 4 % 6得到4,取模a
  • 数字%10能得到最后一位,%100得到最后两位
  • 交换值
    3-2 语法、规范、错误、运算符、判断分支、注释_第6张图片
  • ++在后面:先打印后运算(打印的时候/参与运算的时候还没有赋值)
  • ++在前面:先运算赋值后打印
    3-2 语法、规范、错误、运算符、判断分支、注释_第7张图片
    3-2 语法、规范、错误、运算符、判断分支、注释_第8张图片
    3-2 语法、规范、错误、运算符、判断分支、注释_第9张图片
    在这里插入图片描述
    3-2 语法、规范、错误、运算符、判断分支、注释_第10张图片
  • 字符串之间比较,从各自首位开始查找ASCII码(.也能查找到对应的十进制代码)
    3-2 语法、规范、错误、运算符、判断分支、注释_第11张图片

3. 判断分支

  • 如果条件间是互斥的,使用if - else if,这样比起罗列所有的if(假设if内没有return),能减少走多余的分支
  • switch如果没写break,则不能中断查询,还会走查到后的分支
  • 一般判断结果是多个定值的用switch,判断条件有多个语句的用if

4. 逻辑运算

  • 一定是假(6个): 0 '' NaN null false undefined
  • 除上述以外一定是真
  • 通过逻辑运算推导if语句里条件满足的判断
  • &&遇到真就往后走,遇到假就返回,都没有假则返回最后一个真的值
  • ||遇到假就往后走,遇到真就返回,都没有真则返回最后一个假的值
var a = 1 && 2
console.log(a) // 2

3-2 语法、规范、错误、运算符、判断分支、注释_第12张图片

var a = 1 || 2
console.log(a) // 1

3-2 语法、规范、错误、运算符、判断分支、注释_第13张图片
3-2 语法、规范、错误、运算符、判断分支、注释_第14张图片3-2 语法、规范、错误、运算符、判断分支、注释_第15张图片

你可能感兴趣的:(全修班)