クロージャ
function outerFunction(arg) {
var variableInOuterFunction = arg;
function bar() {
console.log(variableInOuterFunction); // 外側のスコープにある変数にアクセスします
}
// argにアクセスできることを示すために、ローカル関数を呼び出します。
bar();
}
outerFunction("hello closure"); // "hello closure"とログに出力されますfunction outerFunction(arg) {
var variableInOuterFunction = arg;
return function() {
console.log(variableInOuterFunction);
}
}
var innerFunction = outerFunction("hello closure!");
// outerFunctionが返しているものに注意してください
innerFunction(); // "hello closure!" と出力されますなぜクロージャが素晴らしいか
最終更新