051_Array对象
1. Array對象
1.1. Array對象用于在單個的變量中存儲多個值。
1.2. 創(chuàng)建Array對象的語法:
new Array(); new Array(size); new Array(element0, element1, ..., elementn);1.3. 參數(shù)
1.3.1. 參數(shù)size是期望的數(shù)組元素個數(shù)。返回的數(shù)組, length字段將被設(shè)為size的值。
1.3.2. element ..., elementn是參數(shù)列表。當(dāng)使用這些參數(shù)來調(diào)用構(gòu)造函數(shù)Array()時, 新創(chuàng)建的數(shù)組的元素就會被初始化為這些值。它的length字段也會被設(shè)置為參數(shù)的個數(shù)。
1.4. 返回值
1.4.1. 如果調(diào)用構(gòu)造函數(shù)Array()時沒有使用參數(shù), 那么返回的數(shù)組為空, length字段為0。
1.4.2. 當(dāng)調(diào)用構(gòu)造函數(shù)Array(size)只傳遞給它一個數(shù)字參數(shù)時, 該構(gòu)造函數(shù)將返回具有指定個數(shù)、元素為undefined的數(shù)組。
1.4.3. 當(dāng)其他參數(shù)調(diào)用Array(element0)或Array(element0, element1, ..., elementn)時, 該構(gòu)造函數(shù)將用參數(shù)指定的值初始化數(shù)組。
2. Array對象屬性
3. Array對象方法
4. 使用數(shù)組文本創(chuàng)建數(shù)組和Array對象創(chuàng)建數(shù)組
4.1. 使用數(shù)組文本創(chuàng)建數(shù)組和Array對象創(chuàng)建數(shù)組, 效果完全一樣。
4.2. 出于簡潔、可讀性和執(zhí)行速度的考慮, 我們使用數(shù)組文本創(chuàng)建數(shù)組。就是因為new Array()多執(zhí)行了一個Array()構(gòu)造函數(shù), 所以它創(chuàng)建數(shù)組比以數(shù)組文本的方式創(chuàng)建數(shù)組復(fù)雜的多。
4.3. 使用數(shù)組文本創(chuàng)建數(shù)組和Array對象創(chuàng)建數(shù)組都是對象類型。
4.4. 使用數(shù)組文本創(chuàng)建數(shù)組和Array對象創(chuàng)建數(shù)組內(nèi)存結(jié)構(gòu):
5. 例子
5.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>Array對象</title></head><body><script type="text/javascript">var arr1 = new Array();var arr2 = new Array(10);var arr3 = new Array("只有一個參數(shù)");var arr4 = new Array('abc', 12, true);var arr5 = [];var arr6 = ['abc', 12, true];document.write('arr1 = ' + arr1 + ' <b style="color: red">|</b> arr1.length = ' + arr1.length + '<br />');document.write('arr2 = ' + arr2 + ' <b style="color: red">|</b> arr2.length = ' + arr2.length + '<br />');document.write('arr3 = ' + arr3 + ' <b style="color: red">|</b> arr3.length = ' + arr3.length + '<br />');document.write('arr4 = ' + arr4 + ' <b style="color: red">|</b> arr4.length = ' + arr4.length + '<br />');document.write('arr5 = ' + arr5 + ' <b style="color: red">|</b> arr5.length = ' + arr5.length + '<br />');document.write('arr6 = ' + arr6 + ' <b style="color: red">|</b> arr6.length = ' + arr6.length + '<br />');</script></body> </html>5.2. 效果圖
6. Array對象重寫了Object對象的constructor: ? Array()屬性, 和toLocaleString()、toString()這兩個方法。
7. toLocaleString()方法
7.1. 首先調(diào)用每個數(shù)組元素的toLocaleString()方法, 然后使用地區(qū)特定的分隔符把生成的字符串連接起來, 形成一個本地字符串。
7.2. 語法
arrayObject.toLocaleString()8. 例子
8.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>Array對象toLocaleString()方法</title></head><body><script type="text/javascript">var arr1 = new Array(3.1415926, new Date());document.write('arr1 = ' + arr1 + '<br />');document.write('arr1.toString() = ' + arr1.toString() + '<br />');document.write('arr1.toLocaleString() = ' + arr1.toLocaleString() + '<br />');</script></body> </html>8.2. 效果圖
9. 如何識別數(shù)組
9.1. ECMAScript 5定義了新方法Array.isArray(arr)判斷一個對象是否是數(shù)組:
var arr1 = new Array('abc', 12, true); Array.isArray(arr1); // 輸出true9.2. 在對象的constructor屬性上查找Array字符串判斷一個對象是否是數(shù)組:
var arr2 = ['abc', 12, true]; arr2.constructor.toString().indexOf('Array') > -1; // 輸出true9.3. 使用instanceof運(yùn)算符判斷一個對象是否是數(shù)組:
var arr1 = new Array('abc', 12, true); arr1 instanceof Array // 輸出true9.4. 例子
9.4.1. 代碼
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="utf-8" /><title>如何識別數(shù)組</title></head><body><script type="text/javascript">var arr1 = new Array('abc', 12, true);var arr2 = ['abc', 12, true];document.write('arr1.constructor = ' + arr1.constructor + ', (typeof arr1.constructor) = ' + (typeof arr1.constructor) + '<br />');document.write('arr2.constructor = ' + arr2.constructor + ', (typeof arr2.constructor) = ' + (typeof arr2.constructor) + '<br />');document.write('arr1.constructor.toString() = ' + arr1.constructor.toString() + ', (typeof arr1.constructor.toString()) = ' + (typeof arr1.constructor.toString()) + '<br />');document.write('arr2.constructor.toString() = ' + arr2.constructor.toString() + ', (typeof arr2.constructor.toString()) = ' + (typeof arr2.constructor.toString()) + '<br />');document.write('arr1是數(shù)組嗎: ' + Array.isArray(arr1) + ', arr2是數(shù)組嗎: ' + Array.isArray(arr2) + '<br />');document.write('arr1是數(shù)組嗎: ' + (arr1.constructor.toString().indexOf('Array') > -1) + ', arr2是數(shù)組嗎: ' + (arr2.constructor.toString().indexOf('Array') > -1) + '<br />');document.write('arr1是數(shù)組嗎: ' + (arr1 instanceof Array) + ', arr2是數(shù)組嗎: ' + (arr2 instanceof Array) + '<br />');</script></body> </html>9.4.2. 效果圖
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的051_Array对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 050_Boolean对象
- 下一篇: 001_jQuery简介