[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" } | 數組中的元素可以被指定為任意類型的值