1. 程式人生 > >陣列(1)-陣列的定義與陣列的讀和寫

陣列(1)-陣列的定義與陣列的讀和寫

陣列:

  1. 陣列的定義

new Arraylength/content;

字面量

  1. 陣列的讀和寫

arr[num]//不可以溢位讀

arr[num] = xxx//可以溢位讀

 

研究一個東西先研究他的定義方式物件有四種定義方式,第一種是字面量,第二種是建構函式,系統自帶的,第三種是自定義的建構函式,第四種是Objcet.create();

陣列就兩種,第一種叫陣列字面量,var arr = 【】;第二種是var arr = new Array();這個方法是系統提供的,所以我們陣列能用的一切的方法全都來源於Array.prototype,寫字面量的形式也相當於new了一個數組。

Var arr = [,];這樣也不報錯。有幾個逗號就有幾個undefined—稀鬆陣列

var arr = [1,2,,,,3,4];    ,空位也佔陣列的長度;

var arr = new Array(1,2,3,4,5,6); //

本質上和第一個沒有什麼區別,但是實際上有點區別,如果你只是傳一個數,

var arr = new Array(10);

 

var arr1 = [10];    這樣就是有區別的, ,這樣就導致了arr的長度是10,也就是說你給new Arry傳值了,並且就傳了一位,她就會把這個數當成陣列的長度。

---這就是他倆唯一的區別!!

然而呢,這就引發了一個矛盾:

比如說,var arr1 = [10.2];這代表陣列就一為數10.2,但是你如果var arr = new Array(10.2);這樣寫,他會認為陣列的長度是10.2嗎?

這樣就會報錯,不合法。

所以推薦大家用字面量的方式。

 

2.陣列的讀和寫

JavaScript;裡面陣列的讀和寫基本上沒有什麼報錯的地方的,你換成其他語言,

比如定義陣列長度是10,你訪問他弟11位肯定出錯,他會告訴你陣列越界,

但是在JavaScript裡面,

var arr = [];//,並不會報錯,因為JavaScript

裡面的陣列是基於物件的。

 怎麼玩都可以。