1.數組
請注意,直接給Array
的length
賦一個新的值會導致Array
大小的變化。Array
可以通過索引把對應的元素修改爲新的值。請注意,如果通過索引賦值時,索引超過了範圍,同樣會引起Array
大小的變化。但是,,不建議直接修改Array
的大小,訪問索引時要確保索引不會越界。
indexOf
與String類似,Array
也可以通過indexOf()
來搜索一個指定的元素的位置:
slice
slice()
就是對應String的substring()
版本,它截取Array
的部分元素,然後返回一個新的Array
:
注意到slice()
的起止參數包括開始索引,不包括結束索引。
如果不給slice()
傳遞任何參數,它就會從頭到尾截取所有元素。利用這一點,我們可以很容易地複製一個Array
:
push()
向Array
的末尾添加若干元素,pop()
則把Array
的最後一個元素刪除掉。
這裏和c++裏區別,push會返回新長度,pop會返回末尾元素。
如果要往Array
的頭部添加若干元素,使用unshift()
方法,shift()
方法則把Array
的第一個元素刪掉。
同上。
sort
sort()
可以對當前Array
進行排序,它會直接修改當前Array
的元素位置,直接調用時,按照默認順序排序。
reverse
reverse()
把整個Array
的元素給掉個個,也就是反轉。
splice
splice()
方法是修改Array
的“萬能方法”,它可以從指定的索引開始刪除若干元素,然後再從該位置添加若干元素。會返回刪除的元素。
concat
concat()
方法把當前的Array
和另一個Array
連接起來,並返回一個新的Array。
請注意,concat()
方法並沒有修改當前Array
,而是返回了一個新的Array
。
實際上,concat()
方法可以接收任意個元素和Array
,並且自動把Array
拆開,然後全部添加到新的Array
裏。
join
join()
方法是一個非常實用的方法,它把當前Array
的每個元素都用指定的字符串連接起來,然後返回連接後的字符串:
var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'
如果Array
的元素不是字符串,將自動轉換爲字符串後再連接。
2.對象
訪問屬性是通過.
操作符完成的,但這要求屬性名必須是一個有效的變量名。如果屬性名包含特殊字符,就必須用''
括起來:
var xiaohong = {
name: '小紅',
'middle-school': 'No.1 Middle School'
};
xiaohong
的屬性名middle-school
不是一個有效的變量,就需要用''
括起來。訪問這個屬性也無法使用.
操作符,必須用['xxx']
來訪問:
xiaohong['middle-school']; // 'No.1 Middle School'
訪問不存在的屬性不報錯,而是返回undefined。利用delete 刪除某一屬性。
如果我們要檢測xiaoming
是否擁有某一屬性,可以用in
操作符:
'name' in xiaoming; // true
要判斷一個屬性是否是xiaoming
自身擁有的,而不是繼承得到的,可以用hasOwnProperty()
方法:
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false
轉自:廖雪峯老師的網站