[TOC]
# 数据处理
## 数组的复制
由于在数组赋值时代入的只是其引用,因此实际上并没有复制数组的元素。仅仅是将某一个变量指向了同一个数组实体而已。
可以使用 `concat` 和 `slice` 复制数组。
```javascript
var arr = [1,2,3];
// 使用concat
var arr2 = [].concat(arr);
// 使用 slice
var arr3 = arr.slice(0, arr.length);
```
通常有深复制和浅复制两种方式。
深复制:是一种完全复制。如果该对象的属性还引用了其他对象,则那些对象也会一起呗复制。
浅复制:只会复制属性值以及元素值,并不会复制相关的引用对象。
## JSON 的标准
数据类型 | 书写示例 | 注意点
---|---|---
字符串值 | "foobar" | 不能使用单引号。
数值 | 123.4 | 只支持10进制书写方式
布尔值 | true 或 false |
null值 | null |
对象 | { "x":1, "v": "foo" } | 属性名只能使用字符串的方式表示而不能使用{x:1}这样的字面量形式
数组 | { 1, 2, "foo" } | 数组中的元素可以被指定为任意类型的值