问题标签 [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 投票
3 回答
215 浏览

javascript - 如何附加到从闭包创建的 JavaScript 命名空间?

我有一个以下格式的命名空间,允许公共和私有成员:

输出:

我该如何将公共和私有成员都附加到这样的命名空间(即:来自不同的文件)?

这是一个 JSFiddle

0 投票
3 回答
1339 浏览

javascript - 从带有命名空间的哈希值调用 Javascript 函数

我目前有这段代码可以在页面加载时从哈希值调用函数:

这很好用。

但是,我在命名空间中的 Javascript 如下所示:

我在顶部列出的函数不适用于命名空间的 javascript。我尝试手动将命名空间添加到前面(so var hash = "help." + window.location.hash.substring(1);),但这没有用。

如何在不从命名空间中删除我的 Javascript 的情况下解决此问题?

0 投票
5 回答
210 浏览

javascript - JavaScript 中嵌套命名空间的继承

我想设置嵌套命名空间来组织我的代码。我正在尝试遵循本文中描述的类似插件的结构。问题是我不明白如何this.error_msg在我的示例中访问。我设置正确了吗?我必须使用 jQuery.extend还是.prototype访问this.error_msg

演示:http: //jsfiddle.net/g99yt/

0 投票
2 回答
286 浏览

javascript - 继承命名空间javascript

如何在命名空间(范围)内继承对象变量?

0 投票
1 回答
666 浏览

javascript - 无法从 html 文件调用命名空间中的函数

我有两个 JavaScript 文件,它们在名称空间中有一些功能。但是当我尝试从我的主页调用这个函数时,它会抛出一个错误,告诉“对象#没有方法'LoadAllBooks'”......但是我已经使用 namespace.function 调用了该函数。

这是 JavaScript 文件 Util.js 中的代码

现在从我的html主页调用上面的函数LoadAllBooks,如下所示。

有人可以告诉我为什么这会出错吗?

0 投票
1 回答
377 浏览

javascript - 我们可以为两个 javascript 文件添加相同的命名空间吗?

我试图将我所有的 javascript 函数放在一个命名空间中。我有两个 javascript 文件,我试图将这两个文件的所有函数都放在一个命名空间中。因此,当我为两个文件定义相同的命名空间时。第一个被第二个覆盖。我已经在两个文件中定义了我的命名空间,如下所示。有没有一种方法可以阻止其他将所有功能放到一个文件中?谢谢您的帮助。

0 投票
1 回答
231 浏览

ember.js - Ember.js 命名空间问题

我有一个我一直在开发的 Ember.js 应用程序,它运行良好。我现在正在尝试集成一个名为 JsSIP 的 SIP over Websockets 库。我的 Ember 应用程序和单独的概念验证 SIP 应用程序都可以独立运行;但是,一旦我将两者集成在一起,我就会开始在 SIP 库中看到奇怪的错误。我终于把事情缩小到这是两个 API 之间的命名空间问题

我已经看到了至少一个关于 Ember.js 和其他执行任何类型 DOM 操作的库(例如 JQuery Mobile)之间命名空间冲突的其他 SO 问题。据我所知,我使用的 SIP 库对 DOM 的实际操作很少。我已经看到了一些使用 RequireJS 的建议,虽然我真的不想模块化我的客户端,甚至不知道它是否会解决命名空间冲突。将东西包装在 Ember.Namespace 中会有帮助吗?

我创建了一个超级简单的JSFiddle来演示核心问题。非常感谢任何关于我如何解决这两个库之间的问题的建议。这是 Fiddle 中包含的基本代码:

0 投票
2 回答
243 浏览

javascript - 为什么当 javascript 命名空间我们说 var myName = myName || {}

我找不到这种格式背后的原因?

我假设它是检查之前是否已创建此变量,如果是,则使用该变量而不是空白对象。

但是当我分配它时,我想不出它是如何或为什么已经存在的。

0 投票
1 回答
453 浏览

javascript - 将命名空间转换为字符串

我使用显示模块模式,并有一个命名空间Foo.Bar.Baz

如何将其转换为字符串"Foo.Bar.Baz"

(如果我这样做mynamespace.toString(),它会产生"[object Object]"而不是所需的字符串。)

0 投票
1 回答
699 浏览

javascript - 从同一命名空间内通过其完全限定名称调用命名空间函数

您是否有任何理由想要调用在命名空间内定义的函数,该命名空间是使用显示模块模式使用其完全限定名称创建的?例如,下面的 A 与 B?

示例 A。

示例 B。