javascript имя переменной из переменной

Как я могу использовать значение переменной для обозначения переменной?

Если вы поместите их в объект, вы можете сделать это вместо:

Имя переменной не может быть результатом выражения, если вы не используете eval , который вы не хотите делать, или если это глобальная переменная.

Если вам требуется динамическое именование, вы должны использовать объект и динамически назвать его свойства. Это также то, как глобально можно создавать динамически.

eval делает следующее:

Я уверен, что многие говорят «НЕТ» для оценки. Но это делает.

Без использования eval или с, что-то вроде этого невозможно, и эти методы не рекомендуются по разным причинам.

Однако вы можете использовать переменную как ключ для свойства объекта:

Пока настройки свойств глобального объекта (окна в браузерах) будут делать то, что вы просите, я настоятельно рекомендую не писать код бизнес-логики непосредственно в глобальном масштабе, особенно с именами динамических переменных. Потенциал случайных ошибок столкновения имен слишком суровый.

Как в JavaScript из значения одной переменной создать другую переменную.
Аналог в PHP:

Или такой возможности язык не предоставляет?

Я два способа знаю, и все не очень хороши.

Лучше используйте просто массивы и всё.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Стоит задача создавать 1200 кнопок.
Вот мой код

Только в последних версиях Javascript window не используется, как я понял.
В старых версиях можно было делать так

А как в современном javascript динамически задать имя переменной в цикле?
Буду признателен за помощь.

  • Вопрос задан более года назад
  • 1503 просмотра

Только в последних версиях Javascript window не используется, как я понял.

Чего. Глобальный объект есть всегда! Он может быть не window, а global.

Хороший код должен выглядеть примерно так:

В современном JS для таких задач принято использовать массивы:

«Только в последних версиях Javascript window не используется, как я понял.» — не очень понял, о чем речь. Хотите — используйте, только это на самом деле не очень удобно.

Динамически создать переменные нельзя. Можно работать с полями объекта, что ты как раз и делал с объектом window (ты не создавал переменные, f писал поля в объект window, что является плохой практикой, т.к. фактически ты пишешь в global scope).
Создай объект и работай с его полями, например так.

Кстати, советую посмотреть для общего развития в сторону dynamic fields — нововведение из ES6.
Можно писать вот так:

Источник: computermaker.info

Техника и Гаджеты
Добавить комментарий