清理简化代码的一个重要而简单的概念是命名空间(namespace)。目前的JavaScript并不支持命名空间(和Java、C#、Python不同),所以我们不得不通过类似的方法取得合适的效果。
实际上,JavaScript里并不存在“命名空间”的概念,但考虑到JavaScript的所有对象都有自己的属性,属性又可以包含对象,这样就能创造一些和其他语言里面的命名空间神似的东西了。运用这一技巧创建出来的独特结构如下所示。
Code
<script language="javascript">
//创建默认的、全局的命名空间
var Noo = {};
//使用对象设置一些子命名空间
Noo.Control = {};
//创建最终命名空间,它包含一个值为函数的属性,采用JSON对象创建方式
Noo.Control.Event = {
show:function(){alert("成功");}
};
//同下面两句等价
/*
Noo.Control.Event = {};
Noo.Control.Event.show = function(){alert("成功");};
*/
//调用某个具体命名空间中的函数
Noo.Control.Event.show();
</script>