revealing-module-pattern相关内容

揭示模块模式(RMP)的缺点

我最近熟悉了揭示模块模式(RMP),我读了很多关于它的文章。 它看起来是一个非常好的模式,我想开始在一个大项目中使用它。在我使用的项目中:jQuery、KO、Required JS、jQuery Mobile、JayData。在我看来,它将非常适合KO视图模型。 具体地说,我想使用THIS版本。 我找不到使用此模式的缺点,是不是因为没有缺点(我觉得很难相信)? 开始使用之前 ..

Javascript 用冒号​​返回

我正在学习 JavaScript,并且遇到了以下结构: var Test = (function () {函数 func1() {//做一点事.....}函数 func2() {//做一点事.....}函数 func3() {//做一点事.....}返回 {功能1:功能1,功能2:功能2,功能3:功能3};})(); 我想知道返回块在做什么.这是一个非常常用的 JavaScript 结构吗?请 ..
发布时间:2022-01-19 14:56:35 前端开发

JavaScript 设计模式:模块模式和揭示模块模式的区别?

我最近正在阅读学习 JavaScript 设计模式这本书.我不明白的是模块模式和揭示模块模式之间的区别.我觉得他们是同一个东西.谁能举个例子? 解决方案 至少有三种不同的方式来实现模块模式,但揭示模块模式是唯一具有正式名称的模块模式后代. 基本模块模式 模块模式必须满足以下条件: 私人成员住在封闭区. 公共成员在返回对象中公开. 但是这个定义有很多歧义.通过以不同 ..

返回带有模块模式功能的XMLHttpRequest解析的数据

我在结合javascript回调和显示模块模式时遇到问题. 我想做的是使用carsData.getCars()函数方法返回HTTP响应文本. 基本上我想做的是: 将数据从xhr.onreadystatechange函数返回到私有getData函数 将数据从getData函数返回到公共getCars函数(或调用getCars函数返回值) 我知道它可以与同步AJAX模式一起使用,但 ..
发布时间:2020-07-06 00:25:11 前端开发

Javascript模块之间共享的全局变量

我有一个脚本,我想分开到多个模块。 例如,将我的所有鼠标事件放在另一个模块中(mouseup,mousedown等)。 我使用一堆全局变量来跟踪所有我的对象在屏幕上。鼠标模块需要访问这些变量并更改它们。我意识到我可以揭示其他模块所需的每个变量,但它们无法改变它们。 如何使用Javascript实现最佳效果?我目前使用揭示模块模式,并且我读到我必须使用getter和setter(例如我 ..
发布时间:2019-06-08 19:00:13 前端开发

TypeScript代码类似于Revealing Module Pattern结构

我想将我编写的一些JavaScript代码转换为TypeScript。作为一名JavaScript开发人员,我对TypeScript语法和思维方式都很陌生。 令我头疼的是我很难转换一些将显示模块模式用于TypeScript的代码片段。 以下是一个例子: // JS Code var obj; //代码... (function(){ 函数myFunction(){ ..
发布时间:2019-06-07 21:26:48 前端开发

如何立即调用IIFE防止其污染全球范围?

在关于立即调用的函数表达式的Udacity课程中(关于提供的代码片段),它说: 正在返回的函数结束(即捕获) hi变量。这允许myFunction维护一个私有的,可变的 状态,该状态无法在函数外部访问!更重要的是: 因为表达的函数被立即调用,IIFE很好地将 包含在代码中,这样我们就不会污染全局范围。 我很难理解调用匿名函数会立即做什么来阻止变量 hi 从“污染全球范围”开始, ..
发布时间:2019-04-28 09:25:33 前端开发

Javascript返回冒号

我正在学习JavaScript并遇到以下结构: var Test =(function(){ 函数func1(){ //做某事..... } 函数func2(){ //做点什么..... } 函数func3(){ //做某事..... } 返回{ func1:func1, func2:func2, func3:func3 }; })(); ..
发布时间:2019-02-20 21:16:23 前端开发

如果需要补丁,则不能覆盖“公共功能”的含义。在Addy的Revealing Module Pattern描述中?

此模式的缺点是,如果私有函数引用公共函数,则如果需要补丁,则无法覆盖该公共函数。这是因为私有函数将继续引用私有实现,并且该模式不适用于公共成员,仅适用于函数。 链接到上面引用的揭示模块模式 解决方案 比较使用创建的对象一个对象文字,由一个由Revealing Module Pattern创建的。 这是一个作为对象文字创建的。 function makeGreeter(n ..
发布时间:2019-01-23 21:21:04 前端开发

使用显示模块模式时,如何查看eclipse中的轮廓?

我正在重构一些我们拥有的Javascript代码,其中包括改变它以利用显示的模块模式。代码看起来很整洁,它的工作正常,但在大纲视图中我看不到功能。我看到顶级命名空间var为var,但是您无法扩展它以查看其中的函数。 让我们说代码看起来像这样: p> function myFunc1(){} function myFunc2(){} / pre> 在这种情况下,您将 ..
发布时间:2017-07-27 04:14:16 Java开发