Вообще этот one-liner не может сходу прочитать человек который а) не знает Perl; б) не знает синтаксис регулярных выражений.
Я на Питоне пишу, но всё равно худо-бедно-приблизительно сообразил что здесь к чему :)
А вообще не в языке проблема, а в кривых рученьках.
И на Бейсик с Коболом Дийкстра зря гнал: нормальные языки, каждый для своих целей.
Я думаю намеренное. Видимо, большое количество ошибок, которое авторы в своей практике выловили, было связано с пропуском «var». Поэтому от греха подальше решили предупреждать об этом всегда.
Хотя всё равно остаётся вопрос: получается что к div-у вообще ни один из классов не применим, так как они определены в контекстном селекторе. Почему тогда это работает? Или в этом и кроется «магия»?
Для JavaScript понятие потока не применимо; интерпретатор выполняет весь код строго по порядку и в один поток: код запущенный через setTimeout/setInterval будет исполнен по истечении указанного периода времени и когда текущая выполняемая интерпретатором функция закончит своё действие.
Насколько я понимаю, если JS-код выполняется в ходе загрузки страницы, то это трактуется как будто он обернут в (function() {… }()), поэтому «var bar = 1» в таком контексте не объявляет свойство глобального объекта, а объявляет локальную переменную этой псевдо-функции. А вот если этот код исполнить в консоли, то «var bar = 1» и просто «bar = 1» трактуется полностью одинаково — как поле глобального объекта.
Потоки в Питоне реализованы асинхронно. Просто из-за того что интерпретатор работает в один поток, ему приходится переключаться между потоками в ходе работы. Вот для этого и реализован GIL — инструкция в коде потоке захватывает GIL, выполняется, отпускает GIL. А сами потоки при этом параллельны.
Это похоже на то, как работает операционная система на одноядерной однопроцессорной машине: там ведь тоже потоки не работают в настоящем параллельном режиме: процессор переключается между ними по очереди согласно их приоритету.
А почему так? Объясните, если не трудно. Или глобальные переменные, объявленные c var инициализируются только после того как глобальный скрипт отработал?
Ну и OpenCL поддерживается и там и там.
Ну это так, к слову :)
Я на Питоне пишу, но всё равно худо-бедно-приблизительно сообразил что здесь к чему :)
А вообще не в языке проблема, а в кривых рученьках.
И на Бейсик с Коболом Дийкстра зря гнал: нормальные языки, каждый для своих целей.
Пишите программы, любите друг друга :)
Нашим госструктурам только дай такие списки посоставлять…
Я думаю, это к любому языку программирования (и не только) применимо :)
Хотя всё равно остаётся вопрос: получается что к div-у вообще ни один из классов не применим, так как они определены в контекстном селекторе. Почему тогда это работает? Или в этом и кроется «магия»?
Если хотя бы один класс из блока — уже не работает:
Браузер: 21-й Хром
Это похоже на то, как работает операционная система на одноядерной однопроцессорной машине: там ведь тоже потоки не работают в настоящем параллельном режиме: процессор переключается между ними по очереди согласно их приоритету.