`
哈达f
  • 浏览: 120290 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

javaScript NameSpace

 
阅读更多
  命名空间,一看就知道主要目的是为了避免冲突。下面就来说一下如何打造自己的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 Namespace Initiative是一个旨在解决JavaScript代码组织和避免全局变量污染问题的开源项目。在JavaScript编程中,随着代码量的增加,全局变量的使用容易导致命名冲突,因此命名空间成为了一种有效的解决...

    javaScript NameSpace 简单说明介绍

    JavaScript中的命名空间是一个重要的概念,其主要目的是为了避免命名冲突,即在不同的作用域或不同的模块中定义了同名的函数、对象或变量时,能够将它们区分开来。在传统的JavaScript开发中,全局变量和函数容易导致...

    Ext js2.1 最新资料汇总

    `namespace(String namespace1, String namespace2, String etc):void` 创建命名空间。例如: **示例代码:** ```javascript namespace('Company', 'Company.data'); Company.Widget = function () {}; Company....

    javascript 类和命名空间的模拟代码

    在JavaScript中,由于其语言特性,没有像Java或C#那样的内置类和命名空间机制。但是,通过一些技巧,我们可以模拟实现这些概念。下面将详细解释如何使用JavaScript模拟类和命名空间。 首先,我们来看看如何模拟命名...

    javascript高级编程JavaScript.pdf

    JavaScript,作为一种广泛应用于Web开发的脚本语言,其在实际应用中常常会遇到命名冲突的问题。特别是在大型项目中,随着代码量的增加,不同模块之间的函数或变量名称可能相同,导致错误。为了解决这个问题,开发者...

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

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

    基于JavaScript 下namespace 功能的简单分析

    标题中提到的“基于JavaScript下namespace功能的简单分析”,指的是在JavaScript中实现命名空间的概念和方法。命名空间在编程中用来组织代码,避免命名冲突和更方便地管理代码。当项目规模增大,或者需要将代码分割...

    前端开源库-solid-namespace

    1. `src`目录:源代码文件,可能是JavaScript或TypeScript,实现了命名空间的定义和相关功能。 2. `dist`目录:编译后的可发布的文件,通常包括.min.js版本,供生产环境使用。 3. `README.md`:库的使用说明和安装...

    javascript创建命名空间的5种写法__1.docx

    JavaScript中的命名空间是一种组织代码的方式,它可以帮助我们避免全局变量冲突,提高代码的可维护性和安全性。以下是五种创建JavaScript命名空间的方法: 1. **通过函数(function)创建** 这种方法通常涉及定义一...

    浅析JavaScript中命名空间namespace模式

    在JavaScript中,命名空间(namespace)是一种组织代码的方式,用于解决由于全局变量过多或第三方库引入导致的命名冲突问题。由于JavaScript没有内置的命名空间或包管理机制,开发者通常通过模拟实现这一概念。在...

    namespace.js:一个简单的 JavaScript 命名空间函数

    在一些 JavaScript 的模块模式中,通常建议将这些模块组织到某种自定义命名空间中以减少全局混乱: // Create a namespace called 'Animal'var Animal = window . Animal || { } ;Animal . Cat = { speak : ...

    Learning JavaScript Design Patterns - Addy Osmani.pdf

    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概述 JavaScript是一种高级的、解释型的编程语言,它是由ECMA(European Computer Manufacturers Association)组织发展和维护的标准之一。ECMAScript是JavaScript的核心,ECMA-262是其官方标准。...

    javascript创建命名空间的5种写法_.docx

    ### JavaScript 创建命名空间的五种方法 #### 一、通过函数创建命名空间 在JavaScript中,使用函数创建命名空间是一种常见的做法。这种方法主要是利用函数来封装命名空间内的成员,包括属性和方法。这种方式的优点...

    namespace.js:一个在 JavaScript 中创建命名空间的简单函数

    JavaScript 中的命名空间这是一个小函数,它为您在 JavaScript 中声明和使用命名空间提供了一个很好的、简单的语法。 除了处理命名空间之外,它不会做任何事情:例如,它不会尝试加载其他脚本或模块。 它遵循我的...

    JavaScript Best Practices & Tricks

    1. **命名空间和代码结构**:组织代码时,采用命名空间(Namespace)和包(Package)设计能有效避免命名冲突。例如,dojo、dojox和dijit是Dojo框架中的子项目。使用目录、文件和类来分隔代码,并创建良好的命名空间...

Global site tag (gtag.js) - Google Analytics