javascript - 当通过匿名函数封装一个对象时,显示错误信息

标签 javascript anonymous-function

我有以下简单示例。

(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

关于javascript - 当通过匿名函数封装一个对象时,显示错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198663/

相关文章:

javascript - 使用 jQuery 获取所有表单输入数据的最佳方法是什么?

javascript - HERE 悬停信息气泡位置上的 map

javascript - 可以通过 Javascript 在 Acrobat 中搜索并保留页面定义区域中的文本

closures - 闭包与匿名函数(区别?)

javascript - 按位运算如何提高 Asm.js 的性能?

javascript - 通过 jQuery 检查是否存在具有相同选项类的任何其他选择标签的更改

c++ - 在两个 lambda 之间共享变量

javascript - 匿名函数与普通函数

javascript - 我们可以省略 JavaScript IIFE 的主要括号吗?

actionscript-3 - 在循环中创建具有不同参数的匿名函数