`
yuyu1911
  • 浏览: 6601 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

大家都用什么命名空间(namespace)处理机制来对付javascript的?

阅读更多

因项目需要,要求对JS的namespace进行管理,于是上网寻找相关资料,在mootools的相关论坛上找了个:

if(typeof Mootools == "undefined") {
	var Mootools = {
		Version: "0.1"
	};
};
 
Mootools.namespace = function() {
	var a = arguments,
		o = null,
		i, j, d;
	for(i=0; i<a.length; ++i) {
		d = a[i].split(".");
		o = Mootools;
		for(j=(d[0]=="Mootools")?1:0; j<d.length; ++j) {
			o[d[j]]=o[d[j]] || {};
			o=o[d[j]];
		}
	}
	return o;
};
 
Mootools.namespace("util", "widget", "example");
 
// Creating a class
Mootools.widget.widgetName = new Class({
	options: {
		// options goes here
	},
 
	initialize: function(options) {
		this.setOptions(options);
		// initialize commands goes here
	}
});
Mootools.widget.widgetName.implement(new Events); // Implements addEvent(type, fn), fireEvent(type, [args], delay) and removeEvent(type, fn)
Mootools.widget.widgetName.implement(new Options);// Implements setOptions(defaults, options)

 大家现在用怎样的方法来实现JS的命名空间问题的?能否放出来分享下?

分享到:
评论
1 楼 jindw 2009-02-26  
这类通过object属性来模拟的命名空间,完全是一条不归路。
虽然现在大家都这么用。

理由只有一条。
增加程序动态元素,你的代码将不再适合自动工具的准确处理。

话说回来,这类模拟的命名空间用处确实明显,对于不大的运用,隔离冲突的效果还是很好的。
而且一般也够用了。

相关推荐

    Qt命名空间 Qt namespace

    在这个示例中,开发者可能会展示如何引入Qt命名空间,创建和使用Qt类,以及如何处理命名空间冲突等问题。通过分析和运行这个示例,你可以更直观地理解Qt命名空间的实际应用。 总的来说,理解并熟练使用Qt命名空间是...

    C++-命名空间namespace

    ### C++命名空间(namespace)详解 #### 命名空间概览 在C++编程语言中,`namespace`(命名空间)是一个关键的概念,用于管理标识符的作用域,避免命名冲突,尤其是在大型项目和库使用场景下。命名空间提供了一种...

    浅析JavaScript中命名空间namespace模式_.docx

    JavaScript中的命名空间(namespace)模式是一种组织代码结构的策略,特别是在使用多个库或框架时,避免全局变量冲突和提高代码可维护性。由于JavaScript没有像C#或Java那样的内置命名空间支持,开发者需要通过...

    PHP命名空间的使用,PHP命名空间实例

    通过创建独立的命名空间,我们可以将相关的类、函数和常量分组,每个命名空间都有自己的作用域,不同命名空间内的同名元素互不影响。 二、命名空间的声明与使用 1. 声明命名空间:使用`namespace`关键字来声明一个...

    c++中有关命名空间(namespace)的一些介绍

    在C++编程语言中,命名空间(namespace)是一种组织代码的重要机制,它的主要目的是解决标识符的命名冲突问题。在大型项目或者多个库之间,不同的开发者可能会使用相同的名字来定义变量、函数或类,这就会导致编译...

    浅析JavaScript中命名空间namespace模式

    namespace即“命名空间”,也称“名称空间” 、”名字空间”。接下来通过本文给大家介绍JavaScript中命名空间namespace模式的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧

    Namespace 命名空间

    命名空间(Namespace)在计算机编程,尤其是面向对象编程语言中,是一种重要的...在不同的编程环境和框架中,命名空间(或包)的具体实现和使用方式可能有所不同,但其核心目的都是为了提升代码的可读性和可维护性。

    protobuf中的命名空间使用demo(C++)

    2. **使用命名空间**:在C++代码中,需要使用`using namespace`语句来简化访问,例如`using namespace mycompany::myapp;`,或者每次访问时都写全命名空间,如`mycompany::myapp::Person person;`。 3. **序列化和反...

    c++制作自己的namespace命名空间

    开发过程中,可以使用IDE的代码编辑器和构建系统来管理命名空间。在创建和调试代码时,Visual Studio会提供代码补全和错误检查功能,帮助开发者正确使用`namespace`。 在`CreateNameSpace`这个示例中,可能包含了一...

    kubens 用于操作命名空间namespace

    kubens 用于操作命名空间namespace的第三方命令

    操作系统虚拟化底层基础之命名空间(namespace).pdf

    namespace 的实现是基于 Linux 内核的 namespace 机制,通过使用 namespace,操作系统可以提供一个独立的虚拟化环境,讓多个进程可以共享同一个命名空间。 namespace 的实现主要依赖于内核中的 namespace 机制,通过...

    命名空间的使用,以及为何不用using namespace std,内含可运行代码

    在实际用到的标识符前面采用加std::的方式,对于自己命名空间myown1,2,则使用using myown1::B的方式)比使用using编译命令(using namespace std方式,本例中using namespace myown2也是用的这种方式,所以才报错)更...

    c++,命名空间namespace,using编译,using声明用法.pdf

    在C++编程语言中,命名空间(namespace)是一种组织代码的方式,主要目的是为了避免在大型项目中因不同模块或库使用相同标识符(如变量、函数、类等)而导致的命名冲突。命名空间通过将相关的一组标识符封装在一起,...

    QT_namespace_UI的理解

    在QT库中,`namespace`被广泛使用,尤其是`QT_NAMESPACE`和`Ui`这两个关键的命名空间。 `QT_NAMESPACE`通常被定义为`Qt`,这是QT库的核心命名空间,包含了QT的各种类和功能。例如,`QWidget`、`QApplication`等都在...

    flash actionscript3 namespace命名空间 的例子.rar

    在ActionScript 3中,命名空间(Namespace)是一种组织代码的方式,它可以帮助开发者避免类名冲突,尤其是在使用第三方库或大型项目中。本教程将深入探讨ActionScript 3中的命名空间概念及其应用。 命名空间是AS3中...

    c++ 命名空间

    因此,在编写库代码或涉及多个命名空间的项目时,应尽量避免使用`using namespace`。 #### 五、总结 C++中的命名空间是一个重要的特性,它帮助开发者管理和组织代码中的标识符。通过使用`std`命名空间,C++标准库...

    PHP命名空间namespace用法实例分析

    namespace(命名空间)相当于函数、类,划分了一个区域,这样子就使得在同个页面中可以require相同的类,使用相同名字的函数 : 在项目中比较少用 name.php: &lt;?php //命名要使用复合名称 namespace me\mine; ...

    JavaScript创建命名空间(namespace)的最简实现

    在JavaScript中创建命名空间是为了避免全局变量污染以及更好地组织代码结构。命名空间可以将代码逻辑分隔成一个一个的模块,防止变量名或函数名发生冲突。在给定的文件信息中,提供了两种方法来实现创建命名空间的...

    C#命名空间详解.doc

    C#中的命名空间是组织代码的一种重要机制,它允许开发者将相关的类、接口和其他类型分组到一起,形成逻辑上的模块。命名空间并不是物理上的文件或组件组织方式,而是一种逻辑上的分类。通过命名空间,我们可以避免...

Global site tag (gtag.js) - Google Analytics