中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

JavaScript關聯數組、數組和對象的區別是什么

發布時間:2022-03-03 16:27:03 來源:億速云 閱讀:167 作者:iii 欄目:web開發

這篇文章主要講解了“JavaScript關聯數組、數組和對象的區別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JavaScript關聯數組、數組和對象的區別是什么”吧!

關聯數組

很多編程元素支持命名索引的數組。

具有命名索引的數組被稱為關聯數組(或散列)。

JavaScript 不支持命名索引的數組。

在 JavaScript 中,數組只能使用數字索引。

實例

var person = [];

person[0] = "Bill";

person[1] = "Gates";

person[2] = 62;

var x = person.length;          // person.length 返回 3

var y = person[0];              // person[0] 返回 "Bill"

 警告!

假如您使用命名索引,JavaScript 會把數組重定義為標準對象。

之后,所有數組的方法和屬性將產生非正確結果。

實例:

var person = [];

person["firstName"] = "Bill";

person["lastName"] = "Gates";

person["age"] = 62;

var x = person.length;         // person.length 將返回 0

var y = person[0];              // person[0] 將返回 undefined

數組和對象的區別

在 JavaScript 中,數組使用數字索引。

在 JavaScript 中,對象使用命名索引。

數組是特殊類型的對象,具有數字索引。

何時使用數組,何時使用對象?

JavaScript 不支持關聯數組

如果希望元素名為字符串(文本)則應該使用對象。

如果希望元素名為數字則應該使用數組。

避免 new Array()

沒有必要使用 JavaScript 的內建數組構造器 new Array()。

請使用 [] 取而代之!

下面兩條不同的語句創建了名為 points 的新的空數組:

var points = new Array();         // 差

var points = [];                  // 優

下面兩條不同的語句創建包含六個數字的新數組:

var points = new Array(40, 100, 1, 5, 25, 10); // 差

var points = [40, 100, 1, 5, 25, 10];          // 優

new 關鍵詞只會使代碼復雜化。它還會產生某些不可預期的結果:

var points = new Array(40, 100);  // 創建包含兩個元素的數組(40 和 100)

假如刪除其中一個元素會怎么樣?

var points = new Array(40);       // 創建包含 40 個未定義元素的數組!!!

如何識別數組

常見的問題是:我如何知曉某個變量是否是數組?

問題在于 JavaScript 運算符 typeof 返回 "object":

var fruits = ["Banana", "Orange", "Apple", "Mango"];

typeof fruits;             // 返回 object

typeof 運算符返回 "object",因為 JavaScript 數組屬于對象。

解決方案 1:

為了解決這個問題,ECMAScript 5 定義了新方法 Array.isArray():

Array.isArray(fruits);     // 返回 true

此方案的問題在于 ECMAScript 5 不支持老的瀏覽器。

解決方案 2:

創建您自己的 isArray() 函數以解決此問題:

function isArray(x) {

    return x.constructor.toString()。indexOf("Array") > -1;

}

假如參數為數組,則上面的函數始終返回 true。

或者更準確的解釋是:假如對象原型包含單詞 "Array" 則返回 true。

解決方案 3:

假如對象由給定的構造器創建,則 instanceof 運算符返回 true:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits instanceof Array     // 返回 true

感謝各位的閱讀,以上就是“JavaScript關聯數組、數組和對象的區別是什么”的內容了,經過本文的學習后,相信大家對JavaScript關聯數組、數組和對象的區別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江西省| 莫力| 藁城市| 镇原县| 洪雅县| 咸宁市| 沈阳市| 女性| 砀山县| 黄平县| 平顺县| 遂宁市| 杭锦后旗| 杂多县| 运城市| 高雄市| 迁西县| 肃宁县| 光泽县| 中山市| 达拉特旗| 西乌珠穆沁旗| 佛教| 清镇市| 北流市| 奉新县| 苏尼特左旗| 宁海县| 台中市| 濮阳县| 游戏| 新和县| 乌海市| 渝中区| 凌海市| 醴陵市| 宽城| 长治县| 南京市| 陆河县| 习水县|