apply() has a sister function named call, which again lets you set 'this' but takes an expanded argument list as opposed to an array.
Closures
A closure is the combination of a function and the scope object in which it was created.
Closures let you save state - as such, they can often be used in place of objects.
An unfortunate side effect of closures is that they make it trivially easy to leak memory in Internet Explorer.
The above code sets up the element to turn red when it is clicked. It also creates a memory leak. Why? Because the reference to el is inadvertently caught in the closure created for the anonymous inner function. This creates a circular reference between a JavaScript object (the function) and a native object (el).
delete el;
var clickHandler = function() {
this.style.backgroundColor = 'red';
}
(function() {
var el = document.getElementById('el');
el.onclick = clickHandler;
})();
Surprisingly, one trick for breaking circular references introduced by a closure is to add another closure:
It's useful to start with an idea of the language's history. JavaScript was created in 1995 by Brendan Eich, an engineer at Netscape, and first released with Netscape 2 early in 1996. It was originally going to be called LiveScript, but was renamed in an ill-fated marketing decision to try to capitalise on the popularity of Sun Microsystem's Java language — despite the two having very little in common. This has been a source of confusion ever since.
Chinese new year animals horoscope2016
Happy Chinese new year 2016 messages & quotes
Happy new year 2016 greetings for Chinese
Chinese new year 2016 funny poems
Chinese new year animals horoscope2016 Happy Chinese new year 2016 messages & quotes Happy new year 2016 greetings for Chinese Chinese new year 2016 funny poems