问题标签 [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 回答
230 浏览

javascript - 使用 || 的 Javascript 命名空间

我已经看到 JavaScript 中的命名空间定义为:

和/或

谁能告诉我:

  1. 有什么不同?
  2. 是什么|| 用于第一个示例?
  3. 为什么在第一个示例中AppSpace使用了两次?
  4. 哪个是首选语法?
0 投票
1 回答
159 浏览

javascript - 淘汰赛验证和命名空间

我无法将命名空间与淘汰赛验证结合起来。这打破了验证:

​相对于:

哪个工作正常。

谁能向我解释其中的区别?​ ​</p>

0 投票
4 回答
2323 浏览

javascript - 使用 RequireJS 的 Javascript 命名空间,为什么?

我目前正面临关于 javascript 名称空间的争论,我需要社区意见。

场景: 负责这个项目的架构师不知何故致力于 RequireJS 并且真的想使用它。

我必须说,该应用程序是一个后台,布局为一个向导,所以你需要在 6 个页面上来回切换,其中包含一些复杂的业务逻辑,最后填写一些我可以在这里描述为流程请求的内容。

好的,没有单页应用程序对这些问题没有任何兴趣。普通的后台 Web 应用程序,多页面,具有非常复杂的 UI,其中每个页面都向服务器请求,并且所有资源(css、javascript 等)都必须在页面加载时加载。

主要问题:了解我们正在谈论的应用程序类型,为什么首先需要 RequireJS?

第二个问题:为什么要说服 javacript 中命名空间的最佳方法是使用 RequireJS?我错过了什么吗?

我的观点: 对我来说这根本没有意义。在这里使用RequireJS很麻烦,因为没有资源是按需加载的,它们都是在页面加载时加载的(只是因为我们在页面加载时都需要它们)。我们至少需要支持 IE8、Chrome、Firefox 和 Opera,而且我们已经在所有这些浏览器上加载资源时遇到了很多麻烦。已经有很多技巧可以确保通过 Require 加载所有内容。

对于命名空间来说,情况更糟。当然可以,但同样,对我来说似乎很麻烦,而且在这件事上实际上非常有限。

所以我错过了什么吗?我需要第三种(或第 100 种)意见。

  • 你觉得这怎么样?
  • 你用什么?
  • 为什么?

提前致谢

0 投票
1 回答
188 浏览

javascript - 在 Javascript 中对命名空间使用延迟初始化

我在 JavaScript、命名空间和缩小/连接方面遇到了几个问题。我无法控制(至少我不想控制)文件连接的顺序。使用命名空间函数,该函数在给定字符串(例如 'com.example.ExampleClass')时仅返回一个对象,当我在另一个字符串中需要它时,可能不会定义一个“类”。

假设我有一个 DocumentProvider 对象,它需要来自 EventDispatcher 的功能。但是,在我当前的设置中,DocumentProvider 在 EventDispatcher 之前连接。我想在原型上定义这个功能,所以我不能在构造函数中扩展它。

所以,我提出的解决方案是使用延迟初始化:

  • 定义顶层namespace(alias, factory)函数
  • 在命名空间中使用伪重载将工厂分配给指定名称或返回工厂创建的对象

或者,我可以将其拆分为define(alias, factory)import(alias)。更好的可读性,更污染全局空间。

我的问题是:我是否过度设计?这个问题有更好、更简单、更“标准”的解决方案吗?将命名空间功能(具有不同的实现)添加到语言中的风险是什么?

0 投票
1 回答
511 浏览

jquery - jquery 命名空间:如何将默认选项从一种方法传递给子序列方法?

如何将默认选项从一种方法传递给子序列方法

例如,我在方法中有一些默认设置init。我想将这些设置用于其他方法,例如show

我想得到selection答案……有可能吗?

编辑:

参考

现在我得到#hello world(正确)

但,

我想得到true答案,因为init正在访问show. 那么如何从一个方法访问其他方法呢?

0 投票
2 回答
136 浏览

javascript - 为什么 jQuery 选择器变量不能在命名空间中工作?

我很困惑为什么这不起作用。我希望声明一个以上的变量。我究竟做错了什么?

0 投票
2 回答
7874 浏览

jquery-plugins - 在单个项目中使用 Bootstrap 和 Fancybox

我在单个项目中使用 Bootstrap 和 Fancybox,包括它:

这些文件存在并被 Chrome 包含。

创建 Fancybox 元素时:

JS 抛出错误:

(引导功能正在工作)

这是命名空间问题吗?

0 投票
1 回答
3707 浏览

javascript - Javascript命名空间 - 如何根据命名导出函数范围内定义的函数和变量?

使用下面的代码,除了手动指定之外,有没有办法只导出名称不以下划线开头的函数和变量?

0 投票
3 回答
69 浏览

javascript - 如何允许最终用户为此模式定义多个命名空间扩展级别?

以这段代码为例:

我这样称呼它:

是否可以允许用户定义是什么FOO

换句话说,我需要允许多个实例window.FOO; 例如,喜欢window.BILLYwindow.BAZ(或者,应该是window.billy.FOOwindow.baz.FOO?)。

换句话说,是否有一种优雅的方式(允许用户)使用上述构造和初始化的变体来命名“命名空间”?

0 投票
1 回答
126 浏览

jquery - 如果在单击定义时在 jquery 中获取它,如何为命名空间对象变量赋值

我想知道当它在命名空间内时如何在 jquery 绑定中保存一个值。

我知道无论是标题还是我的小描述都没有多大用处,我希望这个小例子可以说明我的问题。

谢谢