问题标签 [module-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript 模块模式:私有方法如何访问模块的范围?
在实现模块模式时,私有函数如何访问模块的私有属性?我还没有看到开发人员这样做的任何示例。有什么理由不这样做吗?
javascript - 是否可以动态访问模块模式中的私有变量?
有没有办法让模块模式中的公共函数动态访问私有变量?test1 显示了我的意思是“动态访问”但使用公共变量
我最终创建了一个私有变量(一个对象)来存储我的私有变量,这样我就可以像那样访问它们
但是,还有其他解决方案吗?
javascript - 在依赖于jquery的Javascript中实现模块模式
实现模块模式的最佳方法是什么,而模块代码依赖于第三方库,例如 jQuery?
我的问题是:我打算将所有代码放在一个库中,就像一个 javascript 文件中的时尚一样。
正如您在getData()
方法中看到的,我计划进行 ajax 调用。我想为此使用 jQuery 库。现在如何在依赖 jQuery 的同时编写 javascript 模块?
我应该把我的整个库变成一个 jQuery 插件吗?
javascript - 将 JavaScript 模块添加到全局范围的跨平台方法是什么?
我正在查看store.js的源代码,特别是它如何将自身添加到全局范围:
我理解最后一个陈述this.store = store
,但其他的呢?module
和define
功能是什么?还不能this.store = store
在所有浏览器上工作?
更一般地说,将模块添加到全局范围的正确跨浏览器方式是什么?
javascript - Javascript 揭示模块模式,公共属性
我试图让我的头脑了解 javascript 中的揭示模块模式。我对以下代码片段的两件事感到困惑。
这里写入控制台的三个值是 100、150、100。这告诉我,当我用一个值调用“addPoints”时,totalPoints 变量没有更新。如果我检查addPoints 函数中的 totalPoints 的值,它已正确递增。这是怎么回事?
如果我使用控制台检查 window.addPoints 或 window.getPoints 我可以看到,因为我没有在函数声明前面使用“var”,它们已被添加到全局范围。那不是错了吗?我正在查看的大多数示例似乎都是这样做的。
任何指点都感激不尽。
javascript - 模块模式中的构造函数
在 javascript 中使用模块模式时,如果有的话,应该如何定义构造函数。我希望我的构造函数适合标准模块模式而不是全局的。
为什么这样的东西不起作用,它是完整的,完全是胡说八道吗?
javascript - 使用这种 JavaScript 编码模式来定义构造函数有什么好处?
我倾向于用以下方式编写对象构造函数:
我注意到一些 JavaScript 库和框架添加了一些额外的代码,如下所示:
我知道自动执行匿名函数的作用和用途。我目前看不到的是在定义构造函数及其原型时它提供了什么优势或好处。
编辑#1:
我知道模块模式及其优点,并且在我的编码中经常使用它。我在沟通中的错误并不清楚我的第一个代码示例不应该在全局范围内。我总是将所有外部 JavaScript 文件包装在一个自动执行的匿名函数中,以在代码上强制执行本地范围。
例如:
问题是我已经看到了在这样一个匿名函数中使用的第二个代码示例中显示的技术。
例如:
这就是我对这项技术的重要性感到茫然的地方。
javascript - 在模块模式中设置和获取私有变量
有人可以解释为什么私有变量 _a 没有用 setter 更新吗?我一定错过了一些非常明显但看不到的东西。
我认为第二个电话应该返回 2
代码在这里 - http://jsfiddle.net/JUKWN/
javascript - 如何将 JavaScript 代码库划分为模块?
我的 Web 应用程序中的 JavaScript 已经变成了一个巨大的文件。我想把它分解成模块,这样更容易管理。
我不知道是否有任何已建立的最佳实践来剖析 Web 应用程序的代码库,或者它是否因项目而异?
尤其:
每个模块是否应该负责应用程序范围的概念,例如“布局”或“客户端存储”等?
或者模块应该针对特定于正在构建的应用程序的概念(如“评论”或“日历”),并且每个模块负责管理自己的布局、自己的客户端存储等?
还是两者兼而有之?
javascript - 使用 jQuery 确定“显示模块模式”模块的范围
假设我有这个模块,我希望它自行初始化并附加到它的范围内。像这样:
现在,问题是,这self
总是window
. 我不想要那个。我希望它成为 jQuery 调用和加载它的范围$.getScript()
,如下所示:
有没有办法破解这个?