JavaScript中的Object Literals和Array Literals有什么区别?我知道它与长度方法有关但我不完全理解它。
答案 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