Javascript получает атрибут

#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 с argv0 String("data-order") (допустим, это приведет к «тестированию»)
  • Назначьте значение существующей глобальной или локальной переменной id «тест» (результат), а затем замените/»верните» выражение назначения на «тест» (становится { id: "test" }
  • Назначить порядок для { id: "test" }

Комментарии:

1. Как возвращаемое значение (которое только что было присвоено переменной «id») все еще может быть присвоено атрибуту «id» объекта? Я пришел с другого языка, который не поддерживает такого рода операции.

2. Оператор присваивания просто возвращает значение. Если это помогло, пожалуйста, примите мой ответ