1.使用Array
var myVar = new Array();
var people = new Array(‘fred’,’Melo’);//字串記得用’’包起來
2.性能
基於性能原因最好別將迴圈與array.length直接做比較,而是應該將array長度給另一變數,在跟這變數做比較。
var myArray = new Array(123,456);
var ArrayLen = myArray.length();
for (var i=0;i<ArrayLen;i++)
{
console.log(i);
}
3.刪除陣列元素
delete arrayName[0];
注意刪除元素陣列長度並不會減少,而是會用 ’Undefined’ 來填這個被刪除的洞
4.新增陣列元素 push
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi", "Lemon", "Pineapple");
The output of the code above will be:Banana,Orange,Apple,Mango,Kiwi,Lemon,Pineapple
5.字串與陣列之轉換join
var people = [‘melo’,’melo2’];
var gang = people.join(‘ - ’)
console.log(gang); //melo-melo2字串
6.使用物件
JS和其他OO語言最大不同是不用定義類別。
JS是從物件property模型物件繼承而來。
建立物件:
var me = {
name: ‘Melo Tang’,
age:42,
car:{
make:'BMW',
model : large
}
}
7.存取物件屬性
var chapter ={
num:6,
title: ‘complex var type’
};
chapter.num; //6
建立物件後可以對其屬性改值
chapter.title = ‘I want to cahnge it’;
如果屬性不存在物件內,則是新增此屬性
chapter.newVar = ‘melo’;
判斷某屬性是否已經存在物件內:in關鍵字
if('startPage' in chapter)//此屬性已經存在
{}
8.JS中可變物件(複雜類型)和不可變物件(簡單類型)
複雜類型:Date,Array,Object
這類型又稱可變物件,隨時可以修改值。
簡單類型:bool,int…
若要修改值,JS會摧毀舊的產生一個新的在將值指派配給他。
9.刪除Object中的property(delete關鍵字)
delete obj.property;
delete chapter.title;
10.Array和Object的比較
JS中Array,bool,strnig….都是物件。
何時該使用array何時該使用object。
在Larry Ullman的書中提出以下建議:
Arry在以下情形較為適合:
-
值的儲存順序很重要
-
值可以為數值型的index
-
可能需要很快得知存了多少值
-
需要排序,物件無法排序