Skip to content Skip to sidebar Skip to footer

What Difficulty Exactly Closure Resolved In Javascript?

I am working in javaScript from last 3 months, but not able to understand something about closures : What problem exactly closure resolved in this language ? When should I use cl

Solution 1:

Here is a closure example:

var items = ["a","b", "c"];
var displayItem = function (i) {
    returnfunction () {
        alert(items[i]);
    }
}

for (var i = 0; i < items.length; i++) {
    window.setTimeout(displayItem(i), 100);
}
  1. A closure keeps the context information of a function. In this example the closure keeps the number if the counter and the items array. If I wouldn't use the closure the conter would have changed and all alerts would show undefined (var i whould be 3).

  2. You are using closures and you may have not noticed. There are no rules of when to use them. When declaring functions inside other functions you are creating closures. In this example I created a closure with just the data I needed. But the displayItem function has created a closure that allows him to acces to the items array.

  3. Using closures may have performance issues because you're forcing the browser to keep more data in memory. So people doesn't use it for performance and nor as a best practice, it is simply an other tool to solve some problems.

Post a Comment for "What Difficulty Exactly Closure Resolved In Javascript?"