Javascript數組

JavaScript容許咱們使用一個數組(Array來存儲和訪問相關的數據。一個數組有點像一行單元格(元素),每一個單元格包含一個獨立的數據項。一個數組能夠存儲JavaScript支持的任何數據類型。所以,舉例來講,你能夠使用一個數組來處理用戶用來選擇的項目列表,或者一批圖象座標,或者一組圖像的引用。
Array對象,相似String Date對象,須要使用new關鍵字和構造函數來建立。咱們能夠在建立它的時候初始化一個數組對象:
var preInitArray = new Array( "First item", "Second item",
"Third Item" );
或者設置它來保存必定數目的數據像:
var preDeterminedSizeArray = new Array( 3 );
或者只建立一個空數組:
var anArray = new Array();
你能夠經過爲這些元素賦值的方式來爲數組添加新的數據項:
anArray[0] = "anItem"
anArray[1] = "anotherItem"
anArray[2] = "andAnother"
                                                                                  
 
n        提示:你能夠不使用array()構造函數;並且使用簡寫符號是頗有效的:
var myArray = [1, 2, 3];
var yourArray = ["red", "blue", "green"]
                                                                                  
 
只要你構造了一個數組,咱們就能夠使用中括號,經過索引和位置(它也是基於0開始的)來訪問它的元素:
<html>
<body>
<script type="text/javascript">
var preInitArray = new Array( "First Item",
"Second Item", "Third Item" );
document.write( preInitArray[0] + "<br>" );
document.write( preInitArray[1] + "<br>" );
document.write( preInitArray[2] + "<br>" );
</script>
</body>
</html>
若是你想循環遍歷整個數組,使用索引數來存儲數據項是很是有用的,咱們下面會看一下循環。
你能夠不使用數字索引而使用關鍵字來訪問數據元素,像這樣:
<html>
<body>
<script type="text/javascript">
// Creating an array object and setting index
// position 0 to equal the string Fruit
var anArray = new Array( );
anArray[0] = "Fruit";
// Setting the index using the keyword
// 'CostOfApple' as the index.
anArray["CostOfApple"] = 0.75;
document.write( anArray[0] + "<br>" );
document.write( anArray["CostOfApple"] );
</script>
</body>
</html>
關鍵字在下面的一些狀況下是很是有效的,在你能夠給數據分配有用地標籤,或者你存儲一些只有在上下文中才有效的實體的地方,如一個圖像座標列表。但是,若是它們已經使用關鍵字被設置了,那麼你不能使用索引數來訪問實體(在一些其餘的語言中是能夠的,如PHP)。咱們也能夠使用變量做爲索引。咱們使用變量(一個保存一個字符串,另外一個保存一個數字)代替文本值,改寫一下前面的例子:
<html>
<body>
<script type="text/javascript">
var anArray = new Array( );
var itemIndex = 0;
var itemKeyword = "CostOfApple";
anArray[itemIndex] = "Fruit";
anArray[itemKeyword] = 0.75;
document.write( anArray[itemIndex] + "<br>" );
document.write( anArray[itemKeyword] );
</script>
</body>
</html>
 
讓咱們把已討論過的數組和Math對象的知識應用到一個例子中。咱們會寫一個簡單的腳本,它隨機的選取一個廣告橫幅顯示到網頁的頂部。
咱們會使用一個數組對象來保存一些圖像的源文件名,以下:
var bannerImages = new Array();
bannerImages[0] = "Banner1.jpg";
bannerImages[1] = "Banner2.jpg";
bannerImages[2] = "Banner3.jpg";
bannerImages[3] = "Banner4.jpg";
bannerImages[4] = "Banner5.jpg";
bannerImages[5] = "Banner6.jpg";
bannerImages[6] = "Banner7.jpg";
接着咱們須要六個對應名字的圖片,放在和HTML網頁相同的文件夾裏。你能夠使用你本身的圖片或者從網站[url]http://www.beginningjavascript.com[/url]下載我本身的。
接下來咱們會初始化一個新的變量,randomImageIndex,使用它來產生一個隨機數。在這裏咱們會使用與前面曾經用過的產生一個隨機擲骰子相同的方法,可是不用在結果上加1,由於咱們須要產生一個06之間的隨機數:
var randomImageIndex = Math.round( Math.random( ) * 6 );
而後咱們會使用document.write()把隨機選擇的圖片寫到網頁中。下面是它的完整的代碼:
<html>
<body>
<script type="text/javascript">
var bannerImages = new Array( );
bannerImages[0] = "Banner1.jpg";
bannerImages[1] = "Banner2.jpg";
bannerImages[2] = "Banner3.jpg";
bannerImages[3] = "Banner4.jpg";
bannerImages[4] = "Banner5.jpg";
bannerImages[5] = "Banner6.jpg";
bannerImages[6] = "Banner7.jpg";
var randomImageIndex = Math.round( Math.random( ) * 6 );
document.write( "<img alt=\"\" src=\"" +
bannerImages[randomImageIndex] + "\">" );
</script>
</body>
</html>
上面就是與之相關的全部東西了。使廣告橫幅不斷的變化比每次訪問網頁的時候都顯示一樣的橫幅廣告更加容易引發訪問者的注意,固然,它還會給訪問者一個印象,這個站點在常常地被更新。
相關文章
相關標籤/搜索