溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript類型概念及使用的方法

發(fā)布時(shí)間:2022-03-24 16:12:40 來源:億速云 閱讀:94 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“JavaScript類型概念及使用的方法”,在日常操作中,相信很多人在JavaScript類型概念及使用的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript類型概念及使用的方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)建數(shù)組的第二種基本方式是使用數(shù)組字面量表示法。數(shù)組字面量由一對包含數(shù)組項(xiàng)的方括號表示,多個(gè)數(shù)組之間以逗號隔開,如下所示:

var colors=["red","blue","green"]j //創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組

var names=[]; //創(chuàng)建一個(gè)空數(shù)組

var values=[1,2,]; //不要這樣!這樣會創(chuàng)建一個(gè)包含2或3項(xiàng)的數(shù)組

var options=[,,,,]; //不要這樣!這樣會創(chuàng)建一個(gè)包含5或6項(xiàng)的數(shù)組

以上代碼的第一行創(chuàng)建了一個(gè)包含3個(gè)字符串的數(shù)組。第二行使用一對空方括號創(chuàng)建了一個(gè)空數(shù)組。第三行展示了在數(shù)組字面量的最后一項(xiàng)添加逗號的結(jié)果:在IE中,values會成為一個(gè)包含3個(gè)項(xiàng)且每項(xiàng)的值分別為1、2和undefined的數(shù)組;在其他瀏覽器中,values會成為一個(gè)包含2項(xiàng)且值分別為l和2的數(shù)組。南昌網(wǎng)絡(luò)公司做網(wǎng)站公司提醒廣開發(fā)人員,出現(xiàn)這種情況的主原因是IE的ECMAScript實(shí)現(xiàn)在數(shù)組字面量方面存在bug。由于這個(gè)bug導(dǎo)致的另一種情況如最后一行代碼所示,該行代碼可能會創(chuàng)建包含5項(xiàng)的數(shù)組(在Firefox. Opera. Safari和Chrome中),也可能會創(chuàng)建包含6項(xiàng)的數(shù)組(在IE中)。在像這種省略值的情況下,每一項(xiàng)都將獲得undefined值;這個(gè)結(jié)果與調(diào)用Array構(gòu)造函數(shù)時(shí)傳遞項(xiàng)數(shù)在邏輯土是相同的。但是由于IE的實(shí)現(xiàn)與其他瀏覽器不一致,因此我們強(qiáng)烈建議不要使用這種語法。

與對象一樣,在使用數(shù)組字面量表示法時(shí),也不會調(diào)用Array構(gòu)造函數(shù)(Firefox除外)。

在讀取和設(shè)置數(shù)組的值時(shí),要使用方括號并提供相應(yīng)值的基于0的數(shù)字索引,如下所示:

var colors=["red","blue","green"]; //定義一個(gè)字符串?dāng)?shù)組

alert (colors[O]); //顯示第一項(xiàng)

colors [2]="black"; //修改第三項(xiàng)

colors[3]="brown"; //新增第四項(xiàng)

方括號中的索引表示要訪問的值。如果索引小于數(shù)組中的項(xiàng)數(shù),則返回對應(yīng)項(xiàng)的值,就像這個(gè)例子中的colors[o]會顯示"red"一樣。設(shè)置數(shù)組的值也使用相同的語法,但會替換指定位置的值。如果設(shè)置某個(gè)值的索引超過了數(shù)組現(xiàn)有項(xiàng)數(shù),如這個(gè)例子中的colors[3]所示,數(shù)組就會自動(dòng)增加到該索引值加l的長度(就這個(gè)例子而言,索引是3,因此數(shù)組長度就是4)。

數(shù)組的項(xiàng)數(shù)保存在其length屬性中,這個(gè)屬性始終會返回0或更大的值,如下面這個(gè)例子所示:

var colors=["red","blue","green"]; //創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組

var names=[]; //創(chuàng)建一個(gè)空數(shù)組

alert(colors.length); //3

alert(names.length); //0

數(shù)組的length屬性很有特點(diǎn)——它不是只讀的。因此,通過設(shè)置這個(gè)屬性,可以從數(shù)組的末尾移除項(xiàng)或向數(shù)組中添加新項(xiàng)。請看下面的例子:

var colors=["red","blue","green"]; //創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組

colors.length = 2;

alert(colors(2)); //undefined

這個(gè)例子中的數(shù)組colors -開始有3個(gè)值。將其length屬性設(shè)置為2會移除最后一項(xiàng)(位置為2的那一項(xiàng)),結(jié)果再訪問colors[2]就會顯示unde fined了。如果將其length屬性設(shè)置為大于數(shù)組項(xiàng)數(shù)的值,則新增的每一項(xiàng)都會取得undefined值,如下所示:

var colors=["red","blue","green"]; //創(chuàng)建一個(gè)亂會3個(gè)字符串的數(shù)組

colors.length = 4;

alert(colors(3)); //undefined

在此南昌網(wǎng)頁設(shè)計(jì)公司工程師提示,雖然colors數(shù)組包含3個(gè)項(xiàng),但把它的length屬性設(shè)置成了4。于是,這個(gè)數(shù)組中位置為3的那一項(xiàng)就獲得了unde fined值,數(shù)組的項(xiàng)數(shù)也增加到4。 利用length屬性也可以方便地在數(shù)組末尾添加新項(xiàng),如下所示:

var colors=["red","blue","green"]; //創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組

colors[colors.length] = "black"; //(在位置3)添加一種顏色

colors[colors.length] = "brown"; //(在位置4)添加一種顏色

由于數(shù)組最后一項(xiàng)的索引始終是length-l,因此下一個(gè)新項(xiàng)的位置就是length。每當(dāng)在數(shù)組末尾添加一項(xiàng)后,其length屬性都會自動(dòng)更新以反應(yīng)這一變化。換句話說,上面例子第二行中的 colors[colors .length]為位置3添加了一個(gè)值,最后一行的colors[ colors .length]則為位置4添加了一個(gè)值。當(dāng)把一個(gè)值放在超出當(dāng)前數(shù)組大小的位置上時(shí),數(shù)組就會重新計(jì)算其長度值,即長度值等于最后一項(xiàng)的索引加l,如下面的例子所示:

var colors=["red","blue","areen"]; //創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組

colors[99] = "black"; //(在位置99)添加一種顏色

alert(colors.length); //100

在這個(gè)例子中,我們向colors數(shù)組的位置99插入了一個(gè)值,結(jié)果數(shù)組新長度(length)就是100 (99+1)。而從位置3到位置98的每一項(xiàng),都將獲得undefined值。

到此,關(guān)于“JavaScript類型概念及使用的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI