我有以下简单的例子。
(function() {
var note = {
show: function() {
alert('hi');
}
};
})();
使用时
note.show();
显示错误消息ReferenceError: note is not defined
。
但是当使用没有通过匿名函数封装的note对象时,工作正常。
现在,我如何在匿名函数之外或其他页面中使用注释对象?
答案 0 :(得分:3)
我相信你的意思是使用像模块模式这样的东西。一个非常基本的例子是:
var note = (function() {
return {
show: function() {
alert('hi');
}
};
}());
这仅在内部有闭包时才有用,例如:
var note = (function() {
var someNumber = 10;
return {
show: function() {
alert('hi');
},
someNumberTimes(n) {
return someNumber * n;
}
};
}());
console.log(note.someNumberTimes(5)); // 50