问题标签 [javascript-namespaces]

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.

0 投票
1 回答
133 浏览

javascript - 为什么我在使用 ajax get 方法时出现 500 Internal Server Error?

我尝试使用 Ajax 获取方法,但出现 500 内部服务器错误。我正在使用以下内容:

我在页面中调用此函数:

服务器操作具有 [HttpGet] 属性。我的错误在哪里?

0 投票
1 回答
515 浏览

javascript - 无法从 javascript 命名空间调用“私有”方法?

我试图了解如何通过 javascript 中的文件分解功能。我试图将命名空间视为单例类。我不明白为什么在下面的代码中MODULE_A.privateMethod1()会抛出错误:Uncaught TypeError: undefined is not a function. 当我打开记录的对象时,我也看不到那里的私有方法。

索引.html:

index.js:

模块A.js:

在此处输入图像描述

0 投票
1 回答
126 浏览

jquery - 在全局范围之外设置 jQuery 侦听器

自从我对 jQuery(或一般的 javascript)做了很多工作以来,已经有一段时间了。我试图让我们的应用程序从拥有全局范围内的所有方法,到一切都在它自己的命名空间中的地步。

我采用的方法是使用显示模块模式和对象文字模式的混合。

我在每个单独的页面上使用对象文字模式,并且我使用它来简单地设置来自服务器的变量(ASP.NET MVC Razor)

从这里,我有一个完成所有繁重工作的外部文件。在这种特殊情况下,我有一个 Kendo ContextMenu,我需要它来从嵌套命名空间中初始化它的侦听器 (jQuery)。

如果我删除所有命名空间位,此代码将按预期工作,但是,当我使用显示模块模式时,侦听器不会触发“点击”事件。

有人可以指出我缺少的那块吗?

0 投票
2 回答
1034 浏览

meteor - 如何在 Meteor 中为全局变量创建自己的命名空间?

我在理解一个我认为是全局的变量的范围时遇到了困难。
与其把它全部弄清楚,我想也许最好声明我自己的全局命名空间并将我的东西放在那里。
这是这样做的方法吗?

客户端/main.js

客户端/some_other_file.js

0 投票
1 回答
136 浏览

javascript - Difference between two ways of declaring Javascript namespaces

I usually use in my code the anonymous function approach:

However, I recently stumbled upon a much simpler way of adding the given namespace to the window object and protecting the global namespace:

I tested both approaches and it looks like both of them are adding to the window object the AAABBBCCC object. I can't notice a difference.

Can you please explain to me what's the difference between these two approaches, and possible advantages/disadvantages for each of them?

0 投票
1 回答
3967 浏览

javascript - JSDoc:模块和命名空间之间的关系是什么

我在理解联合中命名空间和模块的目的时遇到了问题。例如我有一堂课Game.utils.Matrix。我想注释Game为命名空间、utils模块和Matrix类:

它创建了一个文档,Matrix类的名称路径是Game.utils~ Matrix,但是如果我点击Module链接,它的名称路径Module: utils没有Game命名空间前缀,如果我点击Game链接,它不包含utils模块链接。

此外,我无法向该模块添加另一个类,因为该类未显示在utils模块选项卡中:

问题是:记录命名空间和模块的正确方法是什么?它们各自的用例是什么?

0 投票
1 回答
54 浏览

javascript - 使用命名空间时“this”的意外值

this关于 JavaScript 中的命名空间,我似乎遇到了一些问题。具体来说,每当我调用命名空间函数时,setTimeout或者setInterval我似乎不再使用this.

例如,考虑以下代码:

什么时候bar被直接从foo一切工作中直接调用,就像我期望的那样:它打印123123.
但是,当bar从 调用时setTimeout,它会打印undefinedand 123

似乎第二种方式bar被称为价值this不是我所期望的。我希望它是,myNamespace但它似乎是window


这让我想到了两个问题:

  1. 有没有办法让thisbar始终指向内部,myNamespace而不管它是从哪里调用的?
  2. myNamespace.用硬编码代替this.inside of会更合适bar吗?
0 投票
2 回答
49 浏览

javascript - Javascript: Assigning a Private Method to Private Variable

So I'm having some JavaScript issues. I'm not a pro, and don't understand why this does not work. All I am trying to do is assign my private variable to the return value of a private function. If I set var xxx=function name() will it execute the function when I reference xxx. Here is my code. Note - var username=getsessionuser(); below.

This is how its called in another routine.

Why doesn't this work?

0 投票
1 回答
40 浏览

javascript - 部署时未定义 Javascript 公共命名空间函数

我将下面的脚本分配给公共 Javascript 命名空间。它们在本地都可以正常工作,我可以调用TEST.loading(true)并且所有行为都按预期进行,但是当我将它们部署到我的远程服务器时,我在 Chrome/Firefox 控制台中收到以下错误;未捕获的类型错误:TEST.loading 不是函数

我无法弄清楚为什么它会在本地而不是远程工作。我认为这不会有任何区别,但是我正在使用 MVC 捆绑包来部署脚本,并且我已经检查了 Chrome 的网络输出,并且脚本正在正常加载,我可以看到里面的代码......任何建议?

0 投票
3 回答
622 浏览

javascript - 你如何管理 Meteor 中的命名空间?

所以这是我的问题:目前,我在模板 js 文件中有十几个与 WEBRTC 相关的函数。我的目标是将这些函数放在一个单独的文件中,例如称为 webRTCWrapper.js,并在我的模板中调用这些函数而不使用全局变量。

我想我必须使用命名空间,对吗?如果是这样,你如何使用它们?

编辑:对于任何感兴趣的人,这正是我想要的:

http://themeteorchef.com/snippets/using-the-module-pattern-with-meteor/