- 相關(guān)推薦
JavaScript入門(mén)教程之引用類(lèi)型
引用類(lèi)型是一種數據結構,用于將數據和功能組織在一起。它也常被稱(chēng)為類(lèi),但這種稱(chēng)呼并不妥當。盡管 ECMAScript從技術(shù)上講是一門(mén)面向對象的語(yǔ)言,但它不具備傳統的面向對象語(yǔ)言所支持的類(lèi)和接口等基本結構。引用類(lèi)型有時(shí)候也被稱(chēng)為對象定義,因為它們描述的是一類(lèi)對象所具有的屬性和方法。
前面提到過(guò),引用類(lèi)型的值便是對象,在ECMAScript中,引用類(lèi)型是一種數據結構,用于將數據和功能組織在一起,而對象則是某個(gè)特定引用類(lèi)型的實(shí)例。
var a=new Object();
上面便聲明了一個(gè)引用類(lèi)型為Object的實(shí)例,并將這個(gè)實(shí)例存儲到變量a中,也就是說(shuō)這個(gè)變量實(shí)際是并不是包含了這個(gè)實(shí)例本身,而是指向這個(gè)實(shí)例的指針。
對于Object類(lèi)型,常用對象字面量表示法來(lái)創(chuàng )建實(shí)例 既var a={name:"Nick",age:20}這樣做的優(yōu)點(diǎn)是給人封裝的感覺(jué)。而對象的訪(fǎng)問(wèn)則是使用了點(diǎn)表示法或者方括號表示法。a.name等價(jià)于a["name"],注意此處的"name"是以字符串表示的。
對于A(yíng)rray類(lèi)型,則可以使用數組字面量表示法。
對于A(yíng)rray類(lèi)型,可以使用length來(lái)改變數組的長(cháng)度。(從數組的末尾添加或者移除項)
檢測數組的方法是Array.isArray(value)方法
轉換方法:toString()轉換成以“,”分割各項的一個(gè)字符串。valueOf(),返回的依舊是數組。toLocaleString()可以用下例實(shí)現。
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(p.toLocaleString()); //yuzhe,hap
可見(jiàn) alert在輸出前先調用了toString()方法,此外還有join()方法,用于以指定的符號返回成字符串 ,其默認的(不設置參數)為“,”。
棧方法:push()在末尾添加項,返回數組長(cháng)度。pop()在末尾刪除項,返回刪除項。
隊列方法:shift()溢出數組第一項,返回該項。unshift()在首段添加項,返回數組長(cháng)度。
重排序方法(返回值為數組):
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];a.sort(compare);alert(a)
若想產(chǎn)生降序效果,只需反轉if語(yǔ)句。
操作方法:
concat()創(chuàng )建了一個(gè)副本,對原數組無(wú)影響,作用是添加接受的參數到數組的末尾。
slice()創(chuàng )建一個(gè)副本,接受1或者2個(gè)參數(返回項的起始和結束位置,不包含結束位置),在只有一個(gè)參數的情況下,返回從指定位置到結尾所有項。如果參數為負數,則結果為length+arguments,若結束位置小于起始位置,則返回空數組。
splice():1.刪除方法--指定兩個(gè)參數,刪除的第一項的位置和刪除的項數。
2.插入方法--指定三個(gè)參數,起始位置,0(要刪除的個(gè)數),要插入的項。
3.替換方法--指定三個(gè)參數,起始位置,刪除的個(gè)數,要插入的項
插入/替換的位置是起始位置。
位置方法:
indexOf()返回要查找的項的數組下表,沒(méi)有則返回-1.參數:要查找的項和(可選的)查找起點(diǎn)位置的索引(下標)。
lastIndexOf()是indexOf()的逆序。
迭代方法:
2個(gè)參數:要運行的函數和(可選的)的作用域,傳入這些方法中的函數需要有三個(gè)參數(item(數組項的值),index(該項的位置),array(數組對象本身)).
every()對數組中的每一項運行給定函數,每一項都返回ture 則返回true
filter()返回會(huì )返回true的項組成的數組
forEach()對每一項運行給定函數,無(wú)返回值
map()返回每次函數執行結果組成的數組
some()若有一項為true,則返回true
var a=[1,2,3,4];var b=a.every(function(item,index,array){return item>2;});alert(b); //false
歸并方法:
reduce()從數字第一項開(kāi)始遍歷,reduceRight()從數組最后一項開(kāi)始遍歷
使用reduce()來(lái)求數組中的所有和
var a=[1,2,3,4];var b=a.reduce(function(prve,cur,index,array){return prve+cur;});alert(b); //10 第一次執行時(shí),prev為1,cur為2 ,第二次執行時(shí),prev為3,cur為3。 以上所述是小編給大家介紹的JavaScript入門(mén)教程之引用類(lèi)型的相關(guān)內容,希望對大家有所幫助!
【JavaScript入門(mén)教程之引用類(lèi)型】相關(guān)文章:
關(guān)于數據類(lèi)型的Javascript學(xué)習筆記08-05
常用排序算法之JavaScript實(shí)現代碼段06-04
對javascript的理解08-08
平面設計之線(xiàn)的風(fēng)格類(lèi)型與作用10-05
梵語(yǔ)入門(mén)教程08-20
CSS入門(mén)教程01-25
小升初語(yǔ)文復習之常見(jiàn)病句類(lèi)型歸納10-20
常用的JavaScript模式09-22
Javascript的this用法簡(jiǎn)述08-15
JavaScript學(xué)習筆記08-24