JS對象和數組

來源:互聯網
上載者:User
1、建立數組

建立數組的最簡單的方法就是在JavaScript代碼中加入一個對象直接量。對象直接量是用逗號分隔開的一對對的屬性名稱和值的列表,包含在一個花括弧之中,每個屬性名稱可以是一個JavaScript標識符或一個字串,而每個屬性值可以是一個常量或任意的JavaScript運算式。

new運算子可以建立具體的一類對象。在new的後面跟著調用一個建構函式,它用來初始化對象的屬性。

2、作為關聯陣列的對象

我們可以用運算子“.”來存取一個對象屬性,而數組更常用的存取屬性運算子是[]。這樣,下面的兩個運算式值相等:

object.property

object["property"]

這兩條文法之間最重要的區別是,前者的屬性名稱是標識符,後者的屬性名稱卻是一個字串。

3、通用的Object屬性和方法

JavaScript中的所有對象都繼承自Object類。

3.1、constructor屬性

在JavaScript中,每個對象都有一個constructor屬性,它引用了初始化這個對象的建構函式。

3.2、toString()方法

該方法沒有參數,它返回一個某種程度上代表著對象的值的一個字串,而它正是在這個對象上調用的。當JavaScript需要把一個對象轉換為一個字串的時候它就會調用這個方法。

3.3、toLocaleString()方法

這個方法的作用是返回對象的一個本地化字串表示。預設的該方法並不會本地化自己,它總是返回和toString()完全相同的內容。

3.4、valueOf()方法

當JavaScript需要把一個對象轉換為某種基礎資料型別 (Elementary Data Type),也就是一個數字而不是一個字串的時候,才調用的方法如果一個對象用在需要一個基本數值的環境中,JavaScript會自動調用這個方法。

3.5、hasOwnProperty()方法

如果對象用一個單獨的字串參數所指定的名字來本地定義一個非繼承的屬性,該方法就返回true。否則返回false。

3.6、propertyIsEnumerable()方法

如果對象用一個單獨的字串參數所指定的名字來定義一個非繼承的屬性,並如果這個屬性可以在一個for/in迴圈中枚舉,propertyIsEnumerable()方法就返回true。否則返回false.

3.7、isPrototypeOf()方法

如果該方法所屬的對象是參數的原型對象,那麼,該方法就返回true。否則返回false。

4、數組

建立一個數組的最簡單的方法就是使用數組直接量,這隻是位於方括弧中的以逗號分割開的數組元素的列表。一個數組直接量中的值不一定要求是常數,它們可以是任意的運算式;數組直接量可以包含對象直接量或者其他的數組直接量。

建立數組的另一個方式是使用Array()建構函式:無參數調用;可以顯式地指定數組前n個元素的值;可以傳遞給它一個數字參數,這個數字指定了數組的長度。

4.1、刪除數組元素

delete運算子吧一個數組元素設定為undefined值,但是元素本身還繼續存在。要真正地刪除一個元素,以使下標位置高於它的所有元素都向下遷移到較低的下標位置,那麼必須使用一個數組方法。Array.shift()方法刪除數組的第一個元素,Array.pop()方法刪除最後一個元素,Array.splice()從一個數組中刪除一個連續範圍內的元素。

5、數組的方法
5.1、join()方法

該方法可以吧一個數組的所有元素都轉換成字串,然後再把它們串連起來。可以指定一個可選的字串來分隔結果字串中的元素。如果沒有指定分隔字串,就使用逗號分隔元素。

5.2、reverse()方法

該方法將顛倒數組元素的順序並返回顛倒後的數組。它在元數組上執行這一操作,也就是說,它並不是建立一個重排元素的新數組,而是在已經存在的數組中對數組元素進行重排。

5.3、sort()方法

該方法是在原數組上對數組元素進行排序,返回排序後的數組。如果調用時不給它參數,那麼它將按照字母順序對數組元素進行排序。

5.4、concat()方法

該方法能建立並返回一個數組,這個數組包含了調用concat()的原始數組的元素,其後跟隨的是concat()的參數。如果其中有些參數是數組,那麼它將被展開,其元素將被添加到返回的數組中。注意:該函數並不能遞迴地展開一個元素為數組的數組。

5.5、slice()方法

該方法返回的是指定數組的一個片段,或者說是子數組。它的兩個參數指定了要返回的片段的起止點。返回的數組包含由第一個參數指定的元素和從那個元素開始到第二個參數指定的元素為止的元素,但是並不包含第二個參數所指定的元素。

5.6、splice()方法

該方法是插入或刪除數組元素的通用方法。它在原數組上修改數組,並不建立新數組。

5.7、push()方法和pop()方法

這兩個方法使我們可以像使用棧那樣來使用數組。

5.8、unshift()方法和shift()方法

這兩個方法的行為和push()和pop()非常相似,只不過它們是在數組的頭部進行元素的插入和刪除,而不是在尾部進行插入和刪除。

5.9、toString()方法和toLocaleString()方法

toString()方法可以將數組的每個元素都轉換成一個字串。

toLocaleString()是toString()方法局部化的版本。它將調用每個元素的toLocaleString()方法把數組元素轉換成字串,然後把產生的字串用局部特定的分隔字元字串串連起來。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.