定义:
a function use a variable outside the scope are closures.
或者说
"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.
定义:
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))
...