當前位置:才華齋>設計>網頁設計>

JavaScript入門教程之引用型別

網頁設計 閱讀(2.25W)

引用型別是一種資料結構,用於將資料和功能組織在一起。它也常被稱為類,但這種稱呼並不妥當。儘管 ECMAScript從技術上講是一門面向物件的語言,但它不具備傳統的面嚮物件語言所支援的類和介面等基本結構。引用型別有時候也被稱為物件定義,因為它們描述的是一類物件所具有的屬性和方法。

JavaScript入門教程之引用型別

前面提到過,引用型別的值便是物件,在ECMAScript中,引用型別是一種資料結構,用於將資料和功能組織在一起,而物件則是某個特定引用型別的例項。

var a=new Object();

上面便聲明瞭一個引用型別為Object的例項,並將這個例項儲存到變數a中,也就是說這個變數實際是並不是包含了這個例項本身,而是指向這個例項的指標。

對於Object型別,常用物件字面量表示法來建立例項 既var a={name:"Nick",age:20}這樣做的優點是給人封裝的感覺。而物件的訪問則是使用了點表示法或者方括號表示法。等價於a["name"],注意此處的"name"是以字串表示的。

對於Array型別,則可以使用陣列字面量表示法。

對於Array型別,可以使用length來改變陣列的長度。(從陣列的末尾新增或者移除項)

檢測陣列的方法是ray(value)方法

轉換方法:toString()轉換成以“,”分割各項的一個字串。valueOf(),返回的依舊是陣列。toLocaleString()可以用下例實現。

var p1={toString:function(){return "guo";},toLocaleString:function(){return "yuzhe";}}var p2={toString:function(){return "song";},toLocaleString:function(){return "hap";}}var p=[p1,p2];alert(p); //guo,songalert(caleString()); //yuzhe,hap

可見 alert在輸出前先呼叫了toString()方法,此外還有join()方法,用於以指定的符號返回成字串 ,其預設的(不設定引數)為“,”。

棧方法:push()在末尾新增項,返回陣列長度。pop()在末尾刪除項,返回刪除項。

佇列方法:shift()溢位陣列第一項,返回該項。unshift()在首段新增項,返回陣列長度。

重排序方法(返回值為陣列):

reverse()反轉順序。a[length-1]=a[0]

sort()升序排序法 預設的sort()是以ASCII排序的,而非我們認為的數字大小,所以比較大小需要這樣使用

function compare(no1,no2){if(no1no2){return 1;}else{return 0;} }var a=[1,2,3,4,6,5];(compare);alert(a)

若想產生降序效果,只需反轉if語句。

操作方法:

concat()建立了一個副本,對原陣列無影響,作用是新增接受的引數到陣列的末尾。

slice()建立一個副本,接受1或者2個引數(返回項的起始和結束位置,不包含結束位置),在只有一個引數的情況下,返回從指定位置到結尾所有項。如果引數為負數,則結果為length+arguments,若結束位置小於起始位置,則返回空陣列。

splice():1.刪除方法--指定兩個引數,刪除的第一項的位置和刪除的項數。

2.插入方法--指定三個引數,起始位置,0(要刪除的個數),要插入的項。

3.替換方法--指定三個引數,起始位置,刪除的個數,要插入的項

插入/替換的位置是起始位置。

位置方法:

indexOf()返回要查詢的項的陣列下表,沒有則返回-1.引數:要查詢的項和(可選的)查詢起點位置的索引(下標)。

lastIndexOf()是indexOf()的'逆序。

迭代方法:

2個引數:要執行的函式和(可選的)的作用域,傳入這些方法中的函式需要有三個引數(item(陣列項的值),index(該項的位置),array(陣列物件本身)).

every()對陣列中的每一項執行給定函式,每一項都返回ture 則返回true

filter()返回會返回true的項組成的陣列

forEach()對每一項執行給定函式,無返回值

map()返回每次函式執行結果組成的陣列

some()若有一項為true,則返回true

var a=[1,2,3,4];var b=y(function(item,index,array){return item>2;});alert(b); //false

歸併方法:

reduce()從數字第一項開始遍歷,reduceRight()從陣列最後一項開始遍歷

使用reduce()來求陣列中的所有和

var a=[1,2,3,4];var b=ce(function(prve,cur,index,array){return prve+cur;});alert(b); //10 第一次執行時,prev為1,cur為2 ,第二次執行時,prev為3,cur為3。 以上所述是小編給大家介紹的JavaScript入門教程之引用型別的相關內容,希望對大家有所幫助!