JavaScript Notes

Global Objects

Selected excerpt: A global object

An object that provides the APIs that can be called by the code in scripts that use this settings object. This is typically a Window object or a WorkerGlobalScope object. When a global object is an empty object, it can't do anything that interacts with the environment. If the global object is a Window object, then, in JavaScript, the ThisBinding of the global execution context for this script must be the Window object's WindowProxy object, rather than the global object. [ECMA262]This is a willful violation of the JavaScript specification current at the time of writing (ECMAScript edition 5, as defined in section 10.4.1.1 Initial Global Execution Context, step 3). The JavaScript specification requires that the this keyword in the global scope return the global object, but this is not compatible with the security design prevalent in implementations as specified herein. [ECMA262]

Souce:

WebWorkers

Excerpt follows:

Developers mimic 'concurrency' by using techniques like setTimeout(), setInterval(), XMLHttpRequest, and event handlers. Yes, all of these features run asynchronously, but non-blocking doesn't necessarily mean concurrency. Asynchronous events are processed after the current executing script has yielded. The good news is that HTML5 gives us something better than these hacks!

By The Problem: JavaScript Concurrency

Source: