Изображение сгенерировано с помощью сервиса instacod.es
Для тех, кто не привык ждать —
демка.
Обновлено: удивлен такой популярности моей реализации. Создал репозитарий на
Гитхабе, чтобы любой мог форкнуть и присылать Pull Request-ы с улучшениями. Лицензия MIT.
Предисловие
Увидев крутые разработки крутых ребят с хабра, я тоже решил поучаствовать в этой специльной олимпиаде. Но 30 строк? Что за нубство, почему бы не сразу в одну? Окей, вызов принят, как говорится.
Как разрабатывалось
Я давно занимаюсь JS-ом и именно по этой причине подумал, что я смогу осилить такую сложную на первый взгляд задачу. Как все это разрабатывалось — я расскажу по шагам, думаю, это необходимо.
В Javascript есть глобальный объект
window, думаю, многие слышали про него. Собственно, как известно, в JS все является объектом. У этого объекта (window) есть объект
document (чтобы проверить это утверждение, достаточно в консоли браузера (F12 в хроме, например) сделать запрос
window.document instanceof Object
Консоль вернет нам true). Кстати, доступ к глобальным переменным осуществляется не только через
window.variable, но и просто через
variable, на то они и глобальные переменные.
У объекта
document есть метод
write, который позволяет писать в
document. Вызвав этот метод с необходимой нам строкой (или объектом, или чем-нибудь еще) мы запишем значение нашей переменной в
document.
В общем-то, всё. Вот так на первый взгляд сложное становится простым. Надеюсь, кто-то сможет побить мой рекорд!
комментарии (135)