Closure

definition:

a function use a variable outside the scope are closures.

 Or

"Closures are FUNCTIONS WITH PRESERVED DATA"

 

 

 

console.dir()

Displays an interactive(交互式) list of the properties of the specified JavaScript object. 

syntax:console.dir(object);

 

 

var addTo = function(passed) {

       var inner = 2;

       return passed + inner;

};

console.log(addTo(3));

//5

 

in Javascript:, you can do this without passing variables:

 

example1:

 

var passed = 3;

var addTo = function(){

    var inner = 2;

    return passed + inner;

};

console.log(addTo(3));

 

This is a closure.

JS use lexical scoping. means inner variables is not accessible outside but  anything defined outside is automatically avaliable inside the function.

 

definition:

a function use a variable outside the scope are closures.

 

 

function is also object in  javascript,so in Chrome, console.dir(addTo(3))

 

 

 example2:

 

var addTo = function(passed){

          var add = function(inner){

            return passed + inner;

          };

           return add;

};

 

console.dir (addTo (3));

 

var addThree = new addTo(3);

var addFour = new addTo(3);

 

console.dir(addThree);

console.dir(addFour);

//you can check the closure in Chrome.

 

console.log(addThree(2))

...

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325292117&siteId=291194637