这类似于我今天问的另外两个问题,但我仍在尝试了解如何在 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; 我认为我必须通过原型或其他方式分配它。