В чем разница между объектными литералами и литералами массива в JavaScript? Я знаю, что это имеет какое-то отношение к методу длины, но я не совсем понимаю это.
Литералы объектов и массивы объектов JavaScript
Ответ 1
Mozilla.org имеет очень хорошее объяснение разных литералов примерами.
Литералы массива
Литерал массива представляет собой список из нуля или больше выражений, каждый из которых представляет собой элемент массива, заключенный в в квадратных скобках ([]). Когда ты создать массив с использованием массива буквально, он инициализируется заданные значения в качестве своих элементов и его длина установлена на количество аргументы.
Литералы объектов
Литеральный объект - это список нулей или больше пар имен свойств и связанные значения объекта, заключенные в фигурные скобки ({}). Вы не следует использовать литерал объекта при начало заявления. Эта приведет к ошибке или не будет вести себя как вы ожидаете, потому что {будет интерпретируется как начало блок.
Ответ 2
Разница заключается в том, как они индексируются.
Объекты имеют имена, пары значений, которые не упорядочены. В некоторых браузерах заказ, который вы добавили, будет порядком, который вы получите при обходе объекта, но не во всех. Имя обычно является строкой.
Массивы численно индексируются, и порядок полностью надежный
Ответ 3
Объектный литерал
var a = {};
Array Literal
var a = [];
Что это!
Ответ 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