別の関数を返しているため、変数が宣言された関数の外に変数が存在する理由を理解していると思います。
myFunction = function() {
var closure = 'closure scope'
return function() {
return closure;
}
}
A = myFunction(); // myFunction returns a function, not a value
B = A(); // A is a function, which when run, returns:
console.log(B); // 'closure scope'
今書かれているように、A() の呼び出しはゲッターのようなものです。
Q: A(123) の呼び出しがセッターになるように myFunction を作成するにはどうすればよいですか?