#javascript
Вопрос:
Программа, на которую я смотрю, создает объектный литерал, как показано ниже:
const order = {id: (id = button.getAttribute("data-order"))}
button.getAttribute("data-order")
возвращает значение value
для attribute
в определенном html-элементе. Однако я не понимаю, почему возвращаемое value
значение сохраняется в id
переменной до того, как оно будет присвоено атрибуту id
объекта. Позже в программе кажется, что объект имеет правильное значение для id
атрибута. Как возвращаемое значение (которое только что было присвоено переменной «id») все еще может быть присвоено атрибуту «id» объекта?
Комментарии:
1. Лучше всего спросить того, кто это написал
2. Пожалуйста, пересмотрите название своего поста, чтобы задать четкий, конкретный вопрос. Вы просто сложили вместе несколько слов, которые не имеют особого смысла.
Ответ №1:
Напишите это в консоли разработчика chrome(Ctrl Shift I) : id = 3
. Это возвращает 3. Именно так order
свойству объекта присваивается правильное значение. Текст внутри скобки возвращает правильное значение getAttribute
функции.
Что касается того, почему это было написано таким образом, я предполагаю, что это может помочь одновременно присвоить значение глобальной id
переменной, а также свойству объекта order id
. Возможно, в будущем вам захочется загрузить свой идентификатор из другого места, и вам придется меняться только в этом месте, а не в 2.
Примечание: даже если ваш id
файл не был объявлен до этого, он будет создан как переменная, и вы сможете его использовать.
Комментарии:
1. Спасибо. Я родом из другого языка, поэтому никогда не видел такого синтаксиса.
2. Никаких проблем. Я надеюсь, что смог вам помочь. Дайте мне знать, если что-то не ясно.
Ответ №2:
Что здесь происходит:
- Выполните
button.getAttribute
с argv0String("data-order")
(допустим, это приведет к «тестированию») - Назначьте значение существующей глобальной или локальной переменной
id
«тест» (результат), а затем замените/»верните» выражение назначения на «тест» (становится{ id: "test" }
- Назначить порядок для
{ id: "test" }
Комментарии:
1. Как возвращаемое значение (которое только что было присвоено переменной «id») все еще может быть присвоено атрибуту «id» объекта? Я пришел с другого языка, который не поддерживает такого рода операции.
2. Оператор присваивания просто возвращает значение. Если это помогло, пожалуйста, примите мой ответ