簡體   English   中英

JavaScript對象文字和數組文字

[英]JavaScript Object Literals & Array Literals

JavaScript中的Object Literals和Array Literals有什么區別? 我知道它與長度方法有關但我不完全理解它。

Mozilla.org通過示例對不同的文字進行了非常好的解釋。

數組文字

數組文字是零個或多個表達式的列表,每個表達式表示一個數組元素,用方括號([])括起來。 使用數組文字創建數組時,會使用指定的值作為其元素進行初始化,並將其長度設置為指定的參數數。

對象文字

對象文字是零個或多個屬性名稱對和對象的關聯值的列表,用大括號({})括起來。 您不應該在語句的開頭使用對象文字。 這將導致錯誤或不按預期運行,因為{將被解釋為塊的開頭。

不同之處在於它們的索引方式。
對象具有未排序的名稱,值對。 在某些瀏覽器中,添加值的順序將是您遍歷對象時獲得的順序,而不是所有順序。 名稱通常是一個字符串。
數組采用數字索引,順序完全可靠

對象文字

var a = {};

Array Literal

var a = [];

而已!

PHP的數字數組在JavaScript中成為數組文字或對象文字

$ar = array('apple', 'orange', 'banana', 'strawberry');

echo json_encode($ar); // ["apple","orange","banana","strawberry"] - Array literal

echo json_encode($ar, **JSON_FORCE_OBJECT**); // {"0":"apple","1":"orange","2":"banana","3":"strawberry"} - Object Literal

PHP的關聯數組成為JavaScript中的對象文字

$book = array(
         "title" => "JavaScript: The Definitive Guide",
         "author" => "David Flanagan",
         "edition" => 6
        );

echo json_encode($book); // {title: "JavaScript: The Definitive Guide", author: "David Flanagan", edition: 6} - Object Literal

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM