JavaScript 的命名空间并不是真正的命名空间, 只是在脚本内部创建一个封闭的小空间, 必须通过特定的空间名称才能对空间内部的代码进行访问, 这样可以防止同名函数和变量发生冲突, 也可以更方便地管理代码, 就像 .NET 的命名空间 (namespace) 和 Java 的包 (package) 一样.
为什么需要命名空间?
1. JavaScript 是不会禁止你重复定义函数和变量的, 但他只会使用最后定义的版本, 也就是说, 这将导致前面的失效, 令系统出错. 比如, $(id) 是最常用的, 也许你会毫不犹豫的在自己的脚本上定义这个函数, 但是当你用上 prototype, 你就会发现, 它和 prototype 的函数冲突, 并导致你的页面跑不动了. 怎么办? 这时候就需要命名空间了. 我发布的主题里面的 JavaScript 都有用命名空间包起来的, 我这么做就是为了防止和某些插件的代码发生冲突.
2. 如果你要为自己准备一套常用的函数, 或者自己搭建一个 framework, 那这个方法可以使你的代码维护起来更加方便.
怎么使用命名空间?
看以下代码, 命名空间里面定义了两个函数, 将空间命名为 myNamespace, 并声明了 $ 的对外接口. 也就是说, 我们可以在空间外部通过 myNamespace.$ 来调用 $ 函数, 但 myMethod 函数只能在空间内部使用. 因为外部调用需要通过空间来调用, 所以不会和外部函数发生冲突. 变量同理.
(function(){
// 通过 ID 获取 Element 对象
function $(id) {
return document.getElementById(id);
}
// 显示对应 ID 的对象的节点类型名字
function myMethod(id) {
alert($(id).nodeName);
}
// 这是对外的接口
window['myNamespace']= {}
window['myNameSpace']['$'] = $;
})();
分享到:
相关推荐
JavaScript,简称JS,是一种广泛应用于网页和网络应用的编程语言,尤其在网页设计中不可或缺。作为JS初学者,了解并掌握其基础知识对于成为一名合格的网页美工至关重要。 首先,JavaScript 是一种客户端脚本语言,...
JavaScript事件是Web开发中不可或缺的一部分,它允许用户与网页进行交互。这篇帮助文档将深入探讨JavaScript事件及其在实际应用中的重要性。通过了解事件,开发者可以创建更具响应性和交互性的网页,提高用户体验。...
javascript logger 用于前台日子记录
这是一个非常全面的c#开发帮助文档综合(包括常用的14中帮助文档,包括常用的c#开发和网页制作的14中基本的帮助文档,基本可以满足开发者的需求,包括:《JavaScript 语言参考》中文版.chm,C#帮助文档和《css》开发...
《深入理解JavaScript》一书由美国作者罗彻麦尔撰写,是JavaScript编程领域的经典之作。本书旨在帮助读者全面、深入地掌握JavaScript这门强大的脚本语言,从而在Web开发领域中发挥出更大的潜力。...
内容索引:脚本资源,Ajax/JavaScript,前端控件,Js插件 分享一个与表格选择有关的Jvascript前端控件,与表格选择有关,鼠标点选表格,会得到所在行表格内的值,并可将表格内的值导出生成到Excel表中,很好用,希望和...
"Jvascript Exercise" 指的可能是针对JavaScript的一系列练习或项目,旨在提升开发者在实际场景中的技能和理解。 JavaScript的核心概念包括变量、数据类型、控制结构、函数、对象和类。以下是对这些知识点的详细...
内容索引:脚本资源,jQuery,jTemplates jTemplates是一套用作较广的基于jQuery开发的javascript模板引擎,用它可以配合ASP/PHP/JSP/等众多语言来完成诸如通过JavaScript获取JSON数据、获取一个HTML模板、构建客户端...
java script 鼠标拖动页面元素
英文原版DOM Scripting Web Design with JavaScript and the Document Object Model,语言通俗易懂,适合dom和javascript初学者。
...这个项目展示了WebGL的强大功能,这是一种允许在浏览器中直接渲染3D图形的API,无需任何插件。以下将详细探讨Pacmaze游戏的技术实现、特点以及JavaScript在其中的角色。 首先,WebGL是WebGL(Web Graphics Library...
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它具有独特的语法特性和陷阱,尤其对于初学者来说,容易陷入一些常见的误区。以下是一些在实际项目中常常遇到的JavaScript易错点: ...
Secrets+of+the+JavaScript+Ninja [英文原版]OReilly.JavaScript.The.Good.Parts pro-jvascript-techniques 你不了解的jquery
JDK api,Hibernate api,PHP api,Android api,Jvascript api,Html api,JEasyUI api,JQuery api,JSP api,JSTL api,Mysql api,Servlet,W3CShool api,Cascading+Style+Sheet+2.0+Handbook api,等等api的汇总...
JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript Programming Language, Standard ECMA-262 ...