Hello, reader!

My name is Eugene Lazutkin.

I'm a software developer based in the Dallas-Fort Worth metroplex. Lazutkin.com is my professional blog, which contains short writeups and presentations regarding modern web applications. All articles here are written by myself, unless stated otherwise.

JavaScript explained

Explaining some dark corners of JavaScript, browsers, or Dojo for the 100th time I realized that I already did it on numerous occasions, and some of my answers are published on public web sites. So I decided to round up the most general ones I posted on StackOverflow and publish links to them here for a future reference.


This section is for language-specific topics. They can be equally applied in any environment.

Prototypal inheritance

A lot of people have problems with the prototypal inheritance in general and its implementation in JavaScript. These are for you guys:

General questions

JavaScript contains some features that are puzzling even for experienced programmers coming from different languages. Some of them are clarified below:


This section is for browser-specific topics. Let’s face it: many JavaScript questions have nothing to do with the language itself, but with the container of a JavaScript interpreter.


Browser’s DOM is a source of never-ending bugs, and gotchas. I tried to answer some of them:

General questions

The collection of miscellaneous answers on all browser-related things:

Testing and debugging

The lack of testing and debugging tools is the first thing any newcomer to JavaScript complains about. In reality it is not that bad:


Like any library Dojo has its share of misunderstandings, and underdocumented features.

Using Dojo

Hints to help you use Dojo:

Why Dojo?

A legitimate question. Some answers: