我有以下简单的例子。
(function() {
var note = {
show: function() {
alert('hi');
}
};
})();
使用时
note.show();
显示错误信息ReferenceError: note is not defined
。但是当使用没有被匿名函数包围的笔记对象时工作正常。
现在,如何在匿名函数之外或其他页面中使用笔记对象?
我有以下简单的例子。
(function() {
var note = {
show: function() {
alert('hi');
}
};
})();
使用时
note.show();
显示错误信息ReferenceError: note is not defined
。但是当使用没有被匿名函数包围的笔记对象时工作正常。
现在,如何在匿名函数之外或其他页面中使用笔记对象?
我相信您打算使用类似模块模式的东西。一个非常基本的例子是:
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