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

1. 错误

MDN错误列表

Uncaught SyntaxError: Unexpected token ')' // 语法错误
Uncaught ReferenceError: a is not defined // 引用错误等类型
Uncaught TypeError: Cannot read property 'toString' of null
  • 出现一个语法错误,则一行代码都不会执行(检查通篇的语法错误,全部正确才执行)
    在这里插入图片描述
    在这里插入图片描述

  • 出现引用错误,则中断错误处及之后的代码
    在这里插入图片描述

  • html内写脚本,脚本代码块之间互不影响,无论其中一个脚本报语法错误还是通用错误
    在这里插入图片描述
    在这里插入图片描述

中断之后执行

1. //
2.  // 
3.  // 
错误类型表现
RangeError: argument is not a valid code pointString.fromCodePoint(’_’);
RangeError: invalid array lengthnew Array(Math.pow(2, 40))
RangeError: invalid date【chrome不报错,firefox报错】 new Date(‘2014-25-23’).toISOString();
RangeError: precision is out of range77.1234.toExponential(-1);
RangeError: radix must be an integer(42).toString(0);
RangeError: repeat count must be less than infinity‘abc’.repeat(Infinity);
RangeError: repeat count must be non-negative‘abc’.repeat(-1); // RangeError
  • 数字后跟.会引起歧义,不知道是小数点还是调用,报语法错误在这里插入图片描述

2. 运算

怎么得到正负无穷,NaN
怎么得到数字最后一位,最后两位
+0 -0 相等/全等吗

  • 0 / 0 得到NaN是number类型(NaN与包括自己在内的任何东西都不相等)
  • 1 / 0 得到Infinity 是number类型
  • -1 / 0 得到-Infinity是number类型
  • 正负无穷互不相等更不全等
  • 4 % 6得到4,取模a<b时,结果为a取小的
  • 数字%10能得到最后一位,%100得到最后两位
  • 在这里插入图片描述
  • 一个诡异的问题, 这段代码不加分号会报错
let [a, b] = [1, 2];
console.log(a, b); // 1 2 
[b, a] = [a, b];
console.log(a, b); 

在这里插入图片描述

  • 交换值
  • ES6匹配
	let x = 1;
	let y = 2;
	[x, y] = [y, x]
	console.log(x, y)  // 2, 1

在这里插入图片描述

  • ,是运算符,只返回最后一个
    在这里插入图片描述

  • ++在后面:先打印后运算(打印的时候/参与运算的时候还没有赋值)

  • ++在前面:先运算赋值后打印
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这个注意下
    在这里插入图片描述

  • 字符串之间比较,从各自首位开始查找ASCII码(.也能查找到对应的十进制代码)

  • .的ASCII码比阿拉伯数字小
    在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值