javaScript NameSpace 简单说明介绍

  打造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>