所有内容摘自 廖雪峰的js教程,本文只是针对个人薄弱地方进行的总结。
1,NaN 表示Not a Number ,当无法计算结果时用NaN表示
Infinity 表示无限大
2,由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。
另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; 是false。唯一判断NaN的方法是 isNaN() 函数
3,null 表示一个“空”值,undefined表示值未定义,一般情况下用null
4,'use strict'; 如果对变量未用var声明,程序就会运行报错
5,Map:键值对
Set:没有重复的Array
6,for...of 是对 for...in 的修复,for...in 实际上遍历的是对象的属性名称,会有误差,而for...of不会,只循环集合本身的元素
7,arguments 是javaScript免费赠送的字段,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。类似一个Array但其实不是一个Array。实际上arguments最常用于判断传入参数的个数:
argunments.length
8,rest 是获取到定义外的额外参数。rest参数只能写在最后,前面用...标识,从运行结果可知,传入的参数先绑定a、b,多余的参数以数组形式交给变量rest,所以,不再需要arguments我们就获取了全部参数。
functionfoo(a, b, ...rest)
9,JavaScript引擎有一个在行末自动添加分号的机制,所以return 后面如果有返回的参数一定要在当前行‘ {’ 如果在return的后面换行再加‘{’ ,可能会造成直接return;的情况