JavaScript 对象文字和数组文字

JavaScript Object Literals & Array Literals

提问人:lYriCAlsSH 提问时间:2/1/2009 最后编辑:lYriCAlsSH 更新时间:10/8/2017 访问量:9044

问:

JavaScript 中的对象文字和数组文字有什么区别?我知道它与长度方法有关,但我不完全理解它。

JavaScript的

评论


答:

15赞 Espo 2/1/2009 #1

Mozilla.org 通过示例对不同的文字进行了很好的解释。

数组文本

数组文字是零或 更多表达式,每个表达式 表示一个数组元素,括起来 在方括号 ([]) 中。当你 使用数组创建数组 liter,则使用 指定值作为其元素,以及 其长度设置为 指定的参数。

对象文本

对象文字是零或 更多属性名称对和 对象的关联值, 用大括号 ({}) 括起来。你 不应使用 AT 的对象文字 语句的开头。这 将导致错误或不表现为 你期望,因为 { 将是 解释为 块。

3赞 meouw 2/1/2009 #2

区别在于它们的索引方式。
对象具有未排序的名称、值对。在某些浏览器中,添加值的顺序将是遍历对象时获得的顺序,但不是全部。名称通常为字符串。
数组是数字索引的,顺序是完全可靠的

2赞 plodder 3/24/2010 #3

对象文字

var a = {};

数组文本

var a = [];

就是这样!

0赞 Мони 10/8/2017 #4

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