Facebook Twitter

A JavaScript survival guide. Are you a programmer who is considering learning JavaScript, but unsure whether it is worth the pain?

A JavaScript survival guide

Then this blog post is for you: I argue that it is worth it and give tips for surviving the language. Why learn JavaScript? The present The main reason for choosing JavaScript is the breadth of its ecosystem: the web platform, Node.js, JSON, NoSQL databases, Cordova/PhoneGap, automating PhotoShop and many other apps, etc. Compared to Java, I like the interactivity of JavaScript and the web platform. Bolshchikov/js-must-watch. jQAPI - Alternative jQuery Documentation Browser. Promise Pipelines in JavaScript - Promises, also know as deferreds or futures, are a wonderful abstraction for manipulating asynchronous actions.

Promise Pipelines in JavaScript -

Dojo has had Deferreds for some time. jQuery introduced its own Deferreds in version 1.5 based on the CommonJS Promises/A specification. I’m going to show you some recipes for working with jQuery Deferreds. Moment.js | Documentation. #Where to use it Moment was designed to work both in the browser and in Node.JS.

Moment.js | Documentation

Currently the following browsers are used for the ci system: ie8, ie9 on Windows 7, stable Chrome on Windows XP, Safari 10.8 on Mac and stable Firefox on Linux. All code will work in both environments. All unit tests are run in both environments. Dbushell/Pikaday. Nnnick/Chart.js. Jstayton/jquery-marcopolo. Methods | jCanvas Docs. The <canvas> element is a new element apart of HTML5.

Methods | jCanvas Docs

It allows you to draw shapes, paths, images, and other drawings on a blank element called the canvas. Creating a canvas Before you can draw on the canvas, you need to create one. Of course, the canvas can be any width/height you want. You may also wish to give the canvas an ID (for future reference). Modernizr: the feature detection library for HTML5/CSS3. Function.apply and in JavaScript.

In order to explain how the createDelegate function works in the last post, we have to understand JavaScript closures and Function.apply().

Function.apply and in JavaScript

The apply() method is the easiest subject to tackle, so we'll start there and work up. Every function in JavaScript has a number of attached methods, including toString(), call(), and apply(). If it sounds odd to you that a function might have its own methods - then remember that every function in JavaScript is an object. Read this article for a refresher. How to measure the speed of JavaScript execution. If you're curious about the time it takes for your page to load and were wondering if there was something that could tell you what's going on besides human observation, then this excerpt from Even Faster Web Sites will get you pointed in the right direction.

How to measure the speed of JavaScript execution

The easiest, most straightforward, and probably least precise way to measure latency is via human observation; simply use the application on your target platforms and ensure that performance is adequate. Since ensuring adequate human interface performance is only about pleasing humans, this is actually a fine way to perform such measurements (obviously, few humans will be able to quantify delays reliably in terms of precise whole or fractional second measurements; falling back to coarser categorizations such as “snappy,” “sluggish,” “adequate,” and so on does the job).


ColorBox, A jQuery Lightbox. A lightweight customizable lightbox plugin for jQuery Fork me on GitHub View Demos.

ColorBox, A jQuery Lightbox

Minifier. Sizing and Positioning Fancybox | GiveGoodWeb. You’ve probably seen Fancybox all over the place.

Sizing and Positioning Fancybox | GiveGoodWeb

In a way, it’s the living-successor of ThickBox and Lightbox. I was recently on a project where I had to both size and place it. Sizing it is easy. Say you have a link tag with an id of opener, like this: Advanced Debugging With JavaScript. When used effectively, JavaScript debuggers help find and squash errors in your JavaScript code.

Advanced Debugging With JavaScript

To become an advanced JavaScript debugger, you’ll need to know about the debuggers available to you, the typical JavaScript debugging workflow, and code requirements for effective debugging. In this article, we’ll discuss advanced debugging techniques for diagnosing and treating bugs using a sample web application. jStorage - simple JavaScript plugin to store data locally. jQuery Events: Stop (Mis)Using Return False. Probably one of the first topics covered when you get started learning about jQuery events is the concept of canceling the browser’s default behavior.

jQuery Events: Stop (Mis)Using Return False

For instance, a beginner click tutorial may include this: This function toggles the hiding and displaying of #mydiv, then cancels the browser’s default behavior of visiting the href of the anchor tag.


Performance:Leak Tools. Strategy for finding leaks When trying to make a particular testcase not leak, I recommend focusing first on the largest object graphs (since these entrain many smaller objects), then on smaller reference-counted object graphs, and then on any remaining individual objects or small object graphs that don't entrain other objects. Because (1) large graphs of leaked objects tend to include some objects pointed to by global variables that confuse GC-based leak detectors, which can make leaks look smaller (as in bug 99180) or hide them completely and (2) large graphs of leaked objects tend to hide smaller ones, it's much better to go after the large graphs of leaks first.

A good general pattern for finding and fixing leaks is to start with a task that you want not to leak (for example, reading email). Head JS. Extreme JavaScript optimization. 2010 update: Lo, the Web Performance Advent Calendar hath moved Dec 20 This article is part of the 2009 performance advent calendar experiment. Today's article is a second contribution from Ara Pehlivanian (here's the first). JavaScript and HTML DOM Reference.

Objektorientierte Programmierung in Javascript - Browsergame-Entwicklung -