これは、今日私が尋ねた他の 2 つの質問と似ていますが、JavaScript で変数を正しく割り当てる方法をまだ理解しようとしています。
私のコードへの出力は次のとおりです。
x: 3
x: undefined // I was expecting 3 here
そして、ここに私のコードがあります:
var myApplication = {};
(function() {
function beep(x) {
console.log('x: ' + x);
var closure = {};
return function() {
console.log('return function() {');
if (arguments.length) {
console.log('setter: ' + x);
closure.result = x;
} else {
console.log('getter: ' + closure.result);
return closure.result;
}
}
}
myApplication.beep = beep;
})();
myApplication.beep(3);
RESULT = myApplication.beep();
私が言うところに問題があると思います: myApplication.beep = beep; プロトタイプまたは他の方法で割り当てる必要があると思います。