Показать сообщение отдельно
  #8 (permalink)  
Старый 13.11.2018, 21:33
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Сообщение от Malleys
О странной приставке, которая кочует из одного ответа в другой...
[].forEach.call(row.querySelectorAll('td'),node=>node.onclick=myPosition);

Для каждого элемента из пустого массива в контексте... Я не понимаю, зачем такое сложное для понимания перечисление нужно продвигать во многих ответах на этом форуме. Вот это странное [].forEach.call можно спокойно заменить на Array.from.
Array.from(row.querySelectorAll('td')).forEach(node=>node.onclick=myPosition);
странная приставка позволяет не создавать лишний временный объект (массив), что хорошо, ибо чем больше объектов, тем чаще придется собирать мусор

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

так что палка действительно о двух концах.

старый добрый цикл всё равно быстрее и экономичнее )

а сам forEach давно есть в прототипе NodeList (который создается методом querySelectorAll)
Ответить с цитированием