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 point String.fromCodePoint(’_’);
RangeError: invalid array length new Array(Math.pow(2, 40))
RangeError: invalid date 【chrome不报错,firefox报错】 new Date(‘2014-25-23’).toISOString();
RangeError: precision is out of range 77.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


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

  1. 【ECMAScript】语法、规范、错误、运算符、判断分支、注释

    目录 1. 规范 2. 错误 2.1. 语法错误 2.2. 引用错误 3. 算数运算符 3.1. 优先级 3.2. + 加法 3.3. / 除法 3.4 % 取模 3.3. 交换值 3.4. ++.- ...

  2. JSLint检测Javascript语法规范

    前端javascript代码编写中,有一个不错的工具叫JSLint,可以检查代码规范化,压缩JS,CSS等,但是他的语法规范检查个人觉得太"苛刻"了,会提示各种各样的问题修改建议, ...

  3. Java标识符命名规则,运算符,分支结构

    Java标识符命名规则,运算符,分支结构 1 Java标识符命名规则 1.1命名规则案例 163邮箱,注册邮箱名限制6~18个字符,可使用字母,数字,下划线,需要以字母开头命名规则分析1.有长度限制2 ...

  4. D05运算符和分支结构

    运算符和分支结构 1.运算符 1.1关系运算符 > < >= <= == != 关系运算符的结果有且只有 true or false 用于在开发中的条件判断使用 public ...

  5. [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...

  6. Power BI 之 DAX语法规范详解1

    文章预览: Power BI 之 DAX语法规范详解 1 前言 表构造函数{()} Lookupvalue函数 Related函数: Relatedtable函数 筛选引擎Calculate 单条件筛 ...

  7. 【编码经验】数据结构与语法规范、计算机算法、架构模式设计、代码重构

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 编码的三个层次 第一层:数据结构与语法规范层 0.clang-for ...

  8. Android.mk文件语法规范及使用模板 (转载)

    2019独角兽企业重金招聘Python工程师标准>>> http://blogold.chinaunix.net/u3/99423/showart_2206760.html Andr ...

  9. oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询...

    oracle 条件查询,比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感,多行,多列子查询博客分类: oracle OracleSQL 比较运算符 >,<:大于,小于 >=. ...

最新文章

  1. styleable cannot be resolved or is not a field
  2. Golang中的panic和recover(捕获异常)
  3. 末学者daylight__Linux磁盘管理及LVM
  4. Windows10下使用darknet和YOLOV3训练自己的数据集
  5. 命令执行顺序控制与管道
  6. ZJOI 2017 线段树
  7. ssm(springMVC + spring+MyBatis) 小例
  8. requests 返回的cookies为空_爬虫学习(2)(requests库)
  9. android 渠道打包工具,Android渠道打包技术小结
  10. 美国会不会禁用python_美国要是禁用Windows系统,该怎么办?国人会不会选择换系统呢?...
  11. 在js中实现邮箱格式的验证
  12. js将long日期格式转换为标准日期格式
  13. android swf游戏下载工具,swf游戏模拟器高级版下载
  14. 任正非:华为留不住人才是我的痛!
  15. 2018/7/31-zznu-oj-问题 F: 手机密码--【裸dfs+for循环即可!——据说三个小时内只有两个人读完了题意并轻松AC了】...
  16. Metso定位器的参数及调试步骤
  17. 面试官:设计模式是什么?
  18. MFC中VC6.0工程项目中文乱码的显示处理
  19. python matplotlibmat 包mplot3d工具 三维视图透视取消
  20. selenium中添加cookies的方法 python

热门文章

  1. pid调节软件_非常实用的PID算法和PID控制原理
  2. date oracle 显示毫秒_Oracle date timestamp 毫秒 - 时间函数总结
  3. python函数返回none_Python 函数默认返回None的原因
  4. 程序员如何跟领导提离职_如何优雅地跟老板提加薪?按照这3个步骤来,也不是什么难事...
  5. 没有体现JAVA接口功能_深入浅出分析Java抽象类和接口【功能,定义,用法,区别】...
  6. matlab padarray函数详解
  7. 【theano-windows】学习笔记十四——堆叠去噪自编码器
  8. spark-streaming first insight
  9. LeetCode:二叉树相关应用
  10. 读书笔记之《The Art of Readable Code》Part 2