命名空间,一看就知道主要目的是为了避免冲突。下面就来说一下如何打造自己的JavaScript命名空间。
打造JavaScript命名空间其实很简单,只需要将自己的函数、对象、变量等放在一个伪命名空间中,即用一个匿名函数包装起来。
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
使用这种伪命名空间可以封装并保护自己的所有函数、对象、变量,而且由于他们位于一个函数之中,相互之间也可以互相访问。不过伪命名空间之外的脚本就无法使用这些函数了。
为了使这些函数可以被伪命名空间之外的脚本调用,我们首先创建一个window对象。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
然后将要全局化的函数重命名一下(也可以不重命名)赋给window对象window['myNameSpace']。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
这样我们就打造了一个自己的命名空间。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace'] = {};
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
function Test(){
myNameSpace.showNodeName("T");
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="Test()">
<INPUT TYPE="text" NAME="T" ID="T" VALUE="Test">
</BODY>
</HTML>
分享到:
相关推荐
JavaScript Namespace Initiative是一个旨在解决JavaScript代码组织和避免全局变量污染问题的开源项目。在JavaScript编程中,随着代码量的增加,全局变量的使用容易导致命名冲突,因此命名空间成为了一种有效的解决...
JavaScript中的命名空间是一个重要的概念,其主要目的是为了避免命名冲突,即在不同的作用域或不同的模块中定义了同名的函数、对象或变量时,能够将它们区分开来。在传统的JavaScript开发中,全局变量和函数容易导致...
`namespace(String namespace1, String namespace2, String etc):void` 创建命名空间。例如: **示例代码:** ```javascript namespace('Company', 'Company.data'); Company.Widget = function () {}; Company....
在JavaScript中,由于其语言特性,没有像Java或C#那样的内置类和命名空间机制。但是,通过一些技巧,我们可以模拟实现这些概念。下面将详细解释如何使用JavaScript模拟类和命名空间。 首先,我们来看看如何模拟命名...
JavaScript,作为一种广泛应用于Web开发的脚本语言,其在实际应用中常常会遇到命名冲突的问题。特别是在大型项目中,随着代码量的增加,不同模块之间的函数或变量名称可能相同,导致错误。为了解决这个问题,开发者...
JavaScript中的命名空间(namespace)模式是一种组织代码结构的策略,特别是在使用多个库或框架时,避免全局变量冲突和提高代码可维护性。由于JavaScript没有像C#或Java那样的内置命名空间支持,开发者需要通过...
标题中提到的“基于JavaScript下namespace功能的简单分析”,指的是在JavaScript中实现命名空间的概念和方法。命名空间在编程中用来组织代码,避免命名冲突和更方便地管理代码。当项目规模增大,或者需要将代码分割...
1. `src`目录:源代码文件,可能是JavaScript或TypeScript,实现了命名空间的定义和相关功能。 2. `dist`目录:编译后的可发布的文件,通常包括.min.js版本,供生产环境使用。 3. `README.md`:库的使用说明和安装...
JavaScript中的命名空间是一种组织代码的方式,它可以帮助我们避免全局变量冲突,提高代码的可维护性和安全性。以下是五种创建JavaScript命名空间的方法: 1. **通过函数(function)创建** 这种方法通常涉及定义一...
在JavaScript中,命名空间(namespace)是一种组织代码的方式,用于解决由于全局变量过多或第三方库引入导致的命名冲突问题。由于JavaScript没有内置的命名空间或包管理机制,开发者通常通过模拟实现这一概念。在...
在一些 JavaScript 的模块模式中,通常建议将这些模块组织到某种自定义命名空间中以减少全局混乱: // Create a namespace called 'Animal'var Animal = window . Animal || { } ;Animal . Cat = { speak : ...
This book also walks experienced JavaScript developers through modern module formats, how to namespace code effectively, and other essential topics. Learn the structure of design patterns and how ...
### JavaScript概述 JavaScript是一种高级的、解释型的编程语言,它是由ECMA(European Computer Manufacturers Association)组织发展和维护的标准之一。ECMAScript是JavaScript的核心,ECMA-262是其官方标准。...
### JavaScript 创建命名空间的五种方法 #### 一、通过函数创建命名空间 在JavaScript中,使用函数创建命名空间是一种常见的做法。这种方法主要是利用函数来封装命名空间内的成员,包括属性和方法。这种方式的优点...
JavaScript 中的命名空间这是一个小函数,它为您在 JavaScript 中声明和使用命名空间提供了一个很好的、简单的语法。 除了处理命名空间之外,它不会做任何事情:例如,它不会尝试加载其他脚本或模块。 它遵循我的...
1. **命名空间和代码结构**:组织代码时,采用命名空间(Namespace)和包(Package)设计能有效避免命名冲突。例如,dojo、dojox和dijit是Dojo框架中的子项目。使用目录、文件和类来分隔代码,并创建良好的命名空间...