background preloader

Javascript

Facebook Twitter

JavaScript Garden - Vimperator. Although JavaScript deals fine with the syntax of two matching curly braces for blocks, it does not support block scope; hence, all that is left in the language is function scope. function test() { // a scope for(var i = 0; i < 10; i++) { // not a scope // count } console.log(i); // 10} There are also no distinct namespaces in JavaScript, which means that everything gets defined in one globally shared namespace.

JavaScript Garden - Vimperator

Each time a variable is referenced, JavaScript will traverse upwards through all the scopes until it finds it. From The Server To The Client — Client-Side Templating. Powerful New CSS- and JavaScript-Techniques (2012 Edition) - Vimperator. Advertisement Since our last round-up of useful CSS techniques1, we’ve seen a lot of truly remarkable CSS geekery out there.

Powerful New CSS- and JavaScript-Techniques (2012 Edition) - Vimperator

With CSS3, some of the older techniques now have become obsolete, others have established themselves as standards, and many techniques are still in the “crazy experimentation” stage. Since the release of the previous post, we’ve been collecting, sorting, filtering and preparing a compact overview of powerful new CSS techniques. Today we finally present some of these techniques. Use them right away or save them for future reference. Greensock: анимация на JavaScript / Хабрахабр - Vimperator. Недавно я писал, что Greensock, прекрасная библиотека для скриптовой анимации на Flash, теперь поддерживает и JavaScript.

Greensock: анимация на JavaScript / Хабрахабр - Vimperator

Как сделать 3D шутер на JavaScript за пару дней / Хабрахабр - Vimperator. В субботу у меня ближе к полуночи появилось свободное время и жгучее желание сделать игрушку под браузер, забавы ради и увеличения опыта для.

Как сделать 3D шутер на JavaScript за пару дней / Хабрахабр - Vimperator

С жанром определился довольно быстро: т.к. на MMORPG в этот раз у меня точно не хватило бы времени, я решил делать просто мясорубку. Минут 20 ушло на написание базового кода для управления игроком и его противниками. И тут встал вопрос — 2D или 3D (вернее так: Canvas/SVG или все же полноценный WebGL)? Учитывая, что я сейчас участвую в разработке проекта, где WebGL является базовой технологией для 3D режима, выбор я сделал осознанно. Уже примерно полгода я работаю с замечательной библиотекой Three.js и в этот раз она снова стала моим лучшим помощником.

В следующий час была создана и настроена сцена, добавлена болванка игрока в виде пары примитивов и создана первая версия противников. Теперь немного подробностей. JavaScript: от начала до конца / Хабрахабр - Vimperator. TL;DR Эта обзорная статья.

JavaScript: от начала до конца / Хабрахабр - Vimperator

Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Переполнение стека вызовов JavaScript, SetTimeout и снижение производительности AJAX / Хабрахабр - Vimperator. Проблема Некоторое время назад в работе над клиентской (javascript) частью движка josi возникла, кстати, достаточно часто встречающаяся проблема переполнения стека:Uncaught RangeError: Maximum call stack size exceeded (google chrome) В статье рассматривается решение без использования setTimout или setInterval.

Переполнение стека вызовов JavaScript, SetTimeout и снижение производительности AJAX / Хабрахабр - Vimperator

Суть Причина такого поведения известна и понятна, и в той или иной форме всегда вызвана следующим. Классическая(прямая) рекурсия порождает цепочку последовательных вызовов, что соответственно ведет к наполнению стека вызовов, однако, стек вызовов браузера достаточно мал, в chrome на момент тестирования это 500 вызовов, в safari, если не ошибаюсь, тоже. MVC-фреймворки на JavaScript: сравнение Marionette и Chaplin / Хабрахабр - Vimperator. Разработка JavaScript-приложений — горячая тема и люди интересуются какой же фреймворк лучше выбрать.

MVC-фреймворки на JavaScript: сравнение Marionette и Chaplin / Хабрахабр - Vimperator

В этой статье я сравню два из них. Marionette и Chaplin — фреймворки, которые работают поверх популярной библиотеки Backbone.js. Оба хотят облегчить разработку одностраничных JS-приложений. В таких приложениях, фронтэнд выполняет задачи, которые в прошлом выполнялись на сервере (вроде рендеринга HTML из данных). Бэкбон спроектирован, как минималистичная библиотека, а не как полноценный фреймворк. Особенности работы или «За что я люблю JavaScript»: Замыкания, Прототипирование и Контекст / Хабрахабр - Vimperator. Зародившись как скриптовый язык в помощь веб-разработчикам, с дальнейшим развитием JavaScript стал мощным инструментом разработки клиентской части, обеспечивающий удобство и интерактивность страницы прямо в браузере у пользователя.

Особенности работы или «За что я люблю JavaScript»: Замыкания, Прототипирование и Контекст / Хабрахабр - Vimperator

Из-за специфичности среды и целей, JavaScript отличается от обычных языков программирования, и имеет множество особенностей, не понимая которые, довольно сложно написать хороший кроссбраузерный код. Думаю, что большинство программистов, писавших код на JavaScript больше пары дней, сталкивались с этими особенностями. Цель данного топика не открыть что-то новое, а попытаться описать эти особенности «на пальцах» и «недостатки» сделать «преимуществами». В данном топике будут рассматриваться: ЗамыканияПрототипированиеКонтекст выполнения Предисловие Мне, как автору, конечно же хочется описать все-все-все возможности, которыми богат JavaScript.

Замыкания, или «Эти необычные области видимости» Основной цикл в Javascript / Блог компании TradingView / Хабрахабр - Vimperator. Все мы слышали про ajax и node.js.

Основной цикл в Javascript / Блог компании TradingView / Хабрахабр - Vimperator

Они прочно обосновались уже не просто в словарном запасе, но и в наборе инструментов веб-разработчика. Ajax — асинхронное подтягивание данных с сервера на страницу, node — фреймворк с асинхронным IO. Но как в таком однопоточном языке, как Javascript, реализуется та самая асинхронность? Вы, наверное, уже догадались из заголовка, речь пойдет об основном цикле («main loop»). Как в спецификации Начнем издалека. Открываем ECMA-262 и видим… что в ней вообще ничего не сказано про то, что скрипт должен делать после того, как отработает, как его поставить на паузу или остановить.

Как это сделано в WSH Самое, пожалуй, простое окружение — это Windows Script Host, он же WSH. WScript.echo( new Date() + ': Hello world! ' Для несложных задач этого вполне хватает, задачи же посложнее могут превратиться в бег с препятствиями. Создаем функцию для запуска IE, создаем в глобальном скопе коллбек с хитрым именем и запускаем. Не работает.