121 阅读1分钟

数组:

稀疏数组:包含空白或空缺单元的数组;
类数组:通过数字索引的值;
    类数组转数组:
    1.Array.prototype.slice.call('类数组');
    2.ES6新增:Array.from('类数组');
    

特殊的值:

null:
    空值;
    不是标识符,不可做变量和赋值操作;
undefined:
    未赋值;
    属于标识符,可做为变量或赋值操作;
void运算符:
    返回的结果为undefined;
    不改变表达式原来的结果,只是让表达式不返回值;

特殊数字:

NaN: 
    非数字的数字类型(typeof NaN --> number);
    JS中唯一一个不等于自身的值(NaN !== NaN -> true);
    判断方法:
        1. ES6:Number.isNaN(...);
        2. NaN !== NaN;
        3.ES6:Object.is(NaN, NaN);
Infinity:
        无穷数;
        Infinity === -Infinity // false
0:
    0 和 -0;
    0 === -0;
    表示方向信息;
    

特殊等式:

Object.is(a, b):
    判断绝对相等;
    Object.is(NaN, NaN) // true
    Object.is(0, -0) // false
    == === 性能优于Object.is(),其最好是只在做特殊相等比较时使用;
    

值和引用:

基本类型的赋值,是复制;
复合(对象/数组/函数)类型的赋值,是引用;