
Answer three questions on javascript. If any of them makes it difficult for you, you should read Trevor Burnham's excellent book, 
Async JavaScript . A total of 90 pages, but topics such as the JavaScript event loop, synchronicity / asynchrony, single-threading / multithreading (workers), promises, fibers and much more interesting are discussed here.
So what does the following code give out?
for (var i = 1; i <= 3; i++) { setTimeout(function(){ console.log(i); }, 0); }; 
UPD The second question is removed - a different implementation in browsers.
How many (approximately) times does 
setInterval(func, 0) in a second in a browser?
 var fireCount = 0; var start = new Date; var timer = setInterval(function() { if (new Date - start > 1000) { clearInterval(timer); console.log(fireCount); return; } fireCount++; }, 0); 
AnswerNot more than 250 (most likely 240-250)
 If you are wondering why this is the case, the answers are in the 
book .
')
Content- Introduction
 - Trouble in paradise
- Who is this book for?
- Resources for Learning JavaScript
- Where to Turn for Help?
- Running the Code Examples
- Code Style in This Book
- A Word on altJS
- Resources for This Book
 
 
- Understanding JavaScript Events
 - Scheduling events
- Types of Async Functions
- Writing Async Functions
- Handling Async Errors
- Un-nesting Callbacks
- What we've learned
 
 
- Distributing Events
 - PubSub
- Evented models
- Custom jQuery Events
- What we've learned
 
 
- Promises and Deferreds
 - A Very Brief History of Promises
- Making promises
- Passing Data to Callbacks
- Progress notifications
- Combining Promises
- Binding to the Future with pipe
- jQuery vs. Promises / A
- Replacing Callbacks with Promises
- What we've learned
 
 
- Flow Control with Async.js
 - The Async Ordering Problem
- Async Collection Methods
- Organizing Tasks with Async.js
- Dynamic Async Queuing
- Minimalist Flow Control with Step
- What we've learned
 
 
- Multithreading with Workers
 - Web Workers
- Node Workers with cluster
- What we've learned
 
 
- Async Script Loading
 - Limitations and Caveats
- Reintroducing the <script> Tag
- Programmatic Loading
- What we've learned
 
 
- Tools for Taming JavaScript
 - TameJS
- Stratified js
- Kaffeine
- Streamline.js
- Node-fibers
- The Future of JavaScript: Generators