问题标签 [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.
javascript - 在 JavaScript 命名空间中共享变量
我的目标:命名我的 javascript 以保持全局命名空间干净。
我的问题:如何在我的 JavaScript 命名空间中的方法之间共享变量?
在我的示例中,我正在扩展和覆盖 ASP.net ModalPopupExtender 的行为。我想知道如何在不使其成为全局变量的情况下共享modalPopupStack
变量。ModalPopupShowOverride
ModalPopupHideOverride
相关代码:
我确信有一个简单的解决方案,但我不确定它是什么。
javascript - JavaScript 模块模式与其替代方案有什么区别?
实际上,以下两种模式之间的区别是什么?
一个
用法:
B(即模块模式)
用法:
在 B 中,匿名函数创建了一个范围,其中 someVar 不能从外部访问。我想这样的构造在 A 中是不可能的?因此,A 和 B 在创建范围方面有所不同。
命名空间有什么区别?A和B是等价的吗?
javascript - Javascript子模块方法
我最近开始在一个环境中,JS 编程的子模块方法在整个应用程序中专门使用。然而,来自广告的狂野西部,我很难理解它。我理解这些概念,这就是为什么以下警报永远不会触发如此令人沮丧的原因:
查看几乎完全一样的另一个文件,在 init fn 中添加警报可以正常工作。
这些是在同一目录 fyi 中的单独 js 文件。如果 aDifferentCustomVar 有效,它是否与我的 anotherCustomVar 名称有关?
javascript - 如何正确设置 JavaScript 命名空间和类?
似乎有很多方法可以设置 JavaScript 应用程序,所以很难确定哪一种是正确的或最好的。以下技术或更好的方法有什么不同吗?
其他方式:
第一种技术感觉更像是一门课。如果这有所作为,我来自服务器端背景。第二种技术似乎更多余,也有点尴尬,但我也看到它被大量使用。有人可以帮忙阐明一下并建议前进的最佳方式吗?我想创建一个应用程序,其中包含许多相互交谈的类。
javascript - Javascript 对象/命名空间 - 如何访问从嵌套函数添加的属性(包括示例)
我一直在努力理解 Javascript 对象和命名空间,我对如何使用嵌套函数生成/显示对象感到有些困惑。我不明白如何嵌套函数以基本上创建对象工厂并将它们显示在页面中。下面的例子。
我已经尝试过 RTFG 和该站点上的一些示例,但似乎没有任何适用。任何指向相关问答的链接表示赞赏。但我希望有经验的人可以解释这种行为。
以下三个文件构成一个简单的应用程序,用于加载包含三个汽车条目的 index.html 页面,通过调用 getCar() 函数 3 次并设置自定义属性生成,然后使用本身使用 a 的函数添加引擎(完全错误)计算马力的函数。
我希望能够访问 HTML 中返回的 car1、car2、car3 对象的属性,但是当我在浏览器中从下方加载 index.html 时,我在 Javascript 中看不到任何错误,但我不希望这些结果:
还了解如果我使用命名空间,一个用于汽车,一个用于引擎,我是否需要在每个文件的顶部都声明它们,如下所示:
然后引用来自 carFactory.js 的调用:
就像我说的,感谢任何帮助。我只是想明白,这不是课堂作业。我查看了 JavaScript 第六版中的部分,但看不出这种命名空间/对象设置在实践中是如何工作的。感谢任何帮助。
索引.html
汽车工厂.js
engineFactory.js
jquery - 如何在 jquery 中使用命名空间字符串?
我有以下代码示例...
有没有一种方便的方法可以写 $.pg[width],而不是 $.pg['width'] 一直得到 700?我将宽度、高度和速率放入 pg 的全部意义在于,我可以写得更少。
谢谢
javascript - IIFE jquery 准备好了
我正在开发一个包含大量 javascript 的 Web 项目,我们开始遇到命名空间冲突,因为我们将所有内容都添加到“$.”。
我阅读了有关命名空间的内容,并在http://addyosmani.com/blog/essential-js-namespacing/找到了这篇很棒的文章
我尝试按照建议在 IIFE 内设置命名空间,并认为我很幸运,因为该函数已经设置为
所以我将其转换为:
才发现(下班后)原来是
这意味着它都是在 jQuery 的 ready() 函数中调用的。
我想保留命名空间 IIFE,但不知道如何在 jQuery 的 ready() 函数中使用它。这可能吗?如果可以,怎么办?
javascript - 访问在子命名空间中定义的 javascript 对象和被导入 HTML 的 js 文件
如何访问命名空间中的对象。1)我有一个导入脚本文件的 html
一个脚本定义命名空间应用程序,另一个脚本将对象附加到它
我如何访问对象并开始使用它
应用程序.js
个人.js
我的html.html
如何访问对象“personalcontentstorage”以便我可以使用它的方法。访问 hte 对象时出现未定义的错误。我无法按照上面写的方式访问对象
javascript - jQuery 插件创作和命名空间
我习惯于这样写插件:
我知道它并不完美,这就是为什么我现在正在尝试正确学习命名空间、更好的插件结构/模式。不幸的是,我读过的前几本书逐字引用了 jQuery 插件创作教程,因此并没有太大帮助。该教程似乎将所有内容都分开了,并且没有显示一个很好的组合示例,这就是我感到困惑的原因。在本教程中,它显示了命名空间示例。
jQuery 插件命名空间教程
我了解结构以及如何访问命名空间对象,但是它显示了不包括任何命名空间的默认值/选项的另一个示例......因此,为了编写一个正确命名空间的插件的开头,具有默认值/选项并缓存我插入的 HTML 元素用于整个插件,我想出了以下内容。
正确的组合?
显然,当我构建/插入 myElem 时,它只能在该方法中使用,而不能在任何其他方法中使用......我是在错误的地方构建它吗?
默认值/扩展是否在正确的位置?
如果我不想从插件外部访问方法,是否需要方法逻辑部分?
使用 .prototype 与 .fn 有什么好处吗?
非常感谢任何人和所有人!:)
javascript - 在命名空间中使用递归函数时“递归过多”
我在javascript中使用了一种递归方法,它工作得很好,直到我把它放在一个命名空间中。该函数从数组中返回一个元素,该元素具有给定的quoteproduct id 作为它的id 属性。这是一个嵌套数组,这就是函数递归的原因。这是函数声明:
这就是我声明命名空间的方式:
这是我在函数中使用的命名空间中的数组:
该数组在页面加载时填充。
现在,每当我调用该函数时,都会出现“递归过多”错误。我究竟做错了什么 ?同样,在我将函数和数组放入命名空间之前,这个函数就起作用了。