Не зная больше контекста, трудно сказать, что имел в виду автор. (Я проверил, что текст не из спецификации.) Итак, теперь мы знаем источник цитаты, я проверил, и применяется нижеследующее.
Скажет, у вас есть этот скрипт:
var a = [1, 2, 3];
Каждый раз, когда сценарий оценивается, что массив инициализатор («буквальный») вычисляются. Массив не создается один раз и не кэшируется. В приложениях для браузера редко можно переоценить сценарий верхнего уровня без перезагрузки всей среды, но для этого нужно сделать , и если вы создаете новый массив, каждый раз создавайте его.
Я не знаю, почему цитата скажет «... в сценарии верхнего уровня ...», поскольку это верно где угодно. Например:
function foo() {
var a = [1, 2, 3];
// ...
}
Каждый вызов foo
приводит к нового массива. Выражение, как и все выражения, оценивается каждый раз, когда оно встречается. (В этом отношении была ошибка в спецификациях ES3 в отношении регулярных выражений, но она была исправлена в ES5.)
@AmitJoki Цитата из [здесь] (https://developer.mozilla.org/ ru-US/docs/Web/JavaScript/Guide/Значения, _переменные, _and_literals # Array_literals) – Andreas
@Andreas ok. Спасибо –