一、数组
数组
数组可以容纳任何类型的值,可以是字符串、数字、对象,甚至是其他数组。
使用 delete 运算符可以将单元从数组中删除,但是数组的 length 属性不会发生变化。其中被删除的单元值为 undefined
伪数组
- 类数组转数组:
- 工具函数 slice()
function foo(){
return Array.prototype.slice.call(arguments)
}
console.log(foo('1','2')); // ['1', '2']
- ES6 内置工具函数 Array.from()
function foo(){
return Array.from(arguments)
}
console.log(foo('1','2')); // ['1', '2']
二、字符串
三、数字
JavaScript 只有一种数值类型:number(数字)。
JavaScript 中的数字类型是基于 IEEE 754 标准来实现的,也叫 "浮点型"。
JavaScript 使用的是 "双精度" 格式(即64位二进制)。
- 常见问题
0.1 + 0.2 === 0.3; // false的原因?
简单来说,二进制浮点数中的0.1和0.2并不是十分精确,他们相加的结果并非刚好是0.3,所以条件判断结果为false
- 零值处理
// 对负零进行字符串化会返回'0'
(-0).toString(); // '0'
-0 + ''; // '0'
String(-0); // '0'
// 从字符串转换为数字,得到的结果是准确的
+'-0'; // -0
Number('-0'); // -0
JSON.parse('-0'); // -0
- 特殊等式:
Object.is()判断两个值是否绝对相等
Object.is(0, -0); // false
Object.is(-0, -0); // true
Object.is(NaN, NaN); // true
- 值和引用
简单值(即标量基本类型值)总是通过值复制的方式来赋值/传递,包括null、undefined、字符串、数字、布尔和ES6中的symbol。
复合值——对象和函数,总是通过引用复制的方式来赋值/传递。
最后
未完待续...
你需要陆续将数组、字符串等的常用方法补充进来。