JavaScript中的物件和陣列

2021-08-08 22:12:05 字數 3123 閱讀 2977

物件其實就是一種型別,即引用型別。而物件的值就是引用型別的例項。

在ecmascript中引用型別是一種資料結構,用於將資料和功能組織在一起。它也常被稱做為類, 但 ecmascript中卻沒有這種東西。 雖然 ecmascript是一門物件導向的語言, 卻不具備傳統物件導向語言所支援的類和介面等基本結構

對於在應用程式中的儲存和傳輸資料而言,object型別是非常理想的選擇

兩種建立物件的方式:

1) new關鍵字建立物件

var user = newobject(); //new關鍵字可以省略

user.name = '張三'; //建立屬性字段

user.age = 20;

2)用字面量方式建立 object

var user = ;
兩種屬性輸出方式:

alert(user.age);        //點表示法輸出

alert(user['age']); //中括號表示法輸出,注意引號

給物件建立方法:

var user = 

};alert(user.run());

刪除物件屬性:

delete

user.age;

除了 object型別之外, array型別是 ecmascript最常用的型別。

ecmascript中的 array型別和其他語言中的陣列有著很大的區別。雖然陣列都是有序排列,但 ecmascript中的陣列每個元素可以儲存任何型別。 ecmascript中陣列的大小也是可以調整的

類似於物件,陣列也有兩種建立方式:

1) new關鍵字建立陣列(new關鍵字可以省略)

var

array= newarray(); //建立了乙個陣列

vararray= newarray(10); //建立乙個包含 10個元素的陣列

vararray= newarray('張三',20,'學生'); //建立乙個陣列並分配好了元素

2)用字面量方式建立陣列

var

array= ; //建立乙個空的陣列

vararray= ['張三',20,'學生']; //建立包含元素的陣列

可以通過array.length獲取到陣列的長度,但是要注意的是對於[『張三』,20,』學生』,]的乙個陣列,ie瀏覽器會認為它有四個元素,所以要注意逗號的個數

棧方法:

push()方法可以接收任意數量的引數, 把它們逐個新增到陣列的末尾, 並返回修改後陣列的長度。

而pop()方法則從陣列末尾移除最後乙個元素,減少陣列的length值,然後返回移除的元素

佇列方法:

通過push()向陣列末端新增乙個元素,然後通過shift()方法從陣列前端移除乙個元素。

ecmascript還為陣列提供了乙個 unshift()方法,它和 shift()方法的功能完全相反。unshift()方法為陣列的前端新增乙個元素

重排序方法:

陣列中已經存在兩個可以直接用來排序的方法: reverse() 用於逆向排序,sort() 從小到大排序

可以通過給 sort()方法傳遞乙個函式引數,自定義排序方法

function

compare

(value1,value2) else

if (value1> value2) else

//var array=[0,1,5,10,15];

//傳參

操作方法:

ecmascript為操作已經包含在陣列中的元素提供了很多方法。

concat()方法可以基於當前陣列建立乙個新陣列。

var

array=['張三',20,'學生']; //當前陣列

var array2=array.concat('計算機程式設計'); //建立新陣列,並新增新元素

alert(array2); //輸出新陣列

alert(array); //原來的陣列陣列不變

slice()方法可以基於當前陣列獲取指定區域元素並建立乙個新陣列。

var

array=['張三',20,'學生']; //當前陣列

var array2=array.slice(1); //相當於array.slice(1,3),包括頭不包括尾的區間

alert(array2); //20,學生

alert(array); //原來的陣列陣列不變

splice()主要用途是向陣列的中部插入元素。

splice中的刪除功能:

vararray=['張三',20,'學生']; //當前陣列

var array2=array.splice(0,2); //注意這裡表示 從第0個位置 取兩個 ,不是表示區間

alert(array2); //返回擷取的元素

alert(array); //原來陣列要刪除被擷取的元素

splice中的插入功能:

vararray=['張三',20,'學生']; //當前陣列

var array2=array.splice(1,0,'計算機','山東'); //注意這裡表示 從第1個位置 取0個 並新增兩條

alert(array2); //取0條,所以這個地方輸出為空

alert(array); //這裡輸出插入之後的

splice中的替換功能:

vararray=['張三',20,'學生']; //當前陣列

var array2=array.splice(1,1,100); //擷取了第2條,替換成100

alert(array2); //輸出擷取的20

alert(array); //輸出替換之後的

JavaScript中的物件

物件的實質是一組名值對,其中值可以為資料或函式。當值為資料時,對應的名被稱為物件的屬性 當值為函式時,對應的名被稱為物件的方法。通過object 類建立物件let person new object person.name guagua person.age 18 person.say functi...

javascript中的Date物件和Math物件

通過new方法建立物件 var time1 new date 方法1 不指定引數var time1 new date alert time1.tolocalestring 方法2 引數為日期字串var time2 new date 2017 8 8 11 12 alert time2.tolocal...

JavaScript中物件和函式的區別

建立test1物件 var test1 test1.b bbb var a test1 a.b bbb 可以使用點語法向下遍歷訪問到物件的屬性和方法。建立test2函式 函式中的屬性和方法 1 私有屬性和方法 直接定義在函式體內的屬性和方法,屬於私有屬性和方法,只能在函式體內部使用,無法在外部使用函...