JavaScript Object Literals&数组文字

时间:2009-02-01 10:52:40

标签: javascript

JavaScript中的Object Literals和Array Literals有什么区别?我知道它与长度方法有关但我不完全理解它。

4 个答案:

答案 0 :(得分:15)

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

  

数组文字

     

数组文字是零或的列表   更多的表达,每一个   表示一个数组元素,包含在内   在方括号([])中。当你   使用数组创建一个数组   字面意思,用它初始化   指定的值作为其元素,和   它的长度设置为   指定的参数。

     

对象文字

     

对象文字是零或的列表   更多的属性名称和   对象的关联值,   括在花括号({})中。您   不应该使用对象文字   声明的开头。这个   会导致错误或不表现为   你期待,因为{将会是   被解释为一个开头   块。

答案 1 :(得分:3)

区别在于它们被编入索引的方式 对象具有未排序的名称,值对。在某些浏览器中,添加值的顺序将是您遍历对象时获得的顺序,而不是所有顺序。名称通常是一个字符串 数组采用数字索引,顺序完全可靠

答案 2 :(得分:2)

对象文字

var a = {};

Array Literal

var a = [];

就是这样!

答案 3 :(得分:0)

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
相关问题