JavaScript Callback & Closure
Callback
$("button").click(function () {
$("Selector").toggle(5000); // jQuery.toggle();
console.log("this will appear before toggle effect finished");
});
$("button").click(function () {
$("Selector").toggle(5000, function(){
// this is a callback function
console.log("this will appear after toggle effect 100% finished");
});
});
Closure
function foo() {
var a = 1;
return function () {
a = a * 2;
return a;
};
}
var f = foo();
console.log(f()); // return 2
console.log(f()); // return 4
JavaScript 中没有块儿级作用域,函数运行在定义它们的作用域中,而不是调用它们时所在的作用域。