javaScript NameSpace 简单说明介绍


Posted in Javascript onJuly 18, 2013

    打造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 相关文章推荐
一些常用的JS功能函数(2009-06-04更新)
Jun 04 Javascript
jquery实现metro效果示例代码
Sep 06 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 Javascript
了不起的node.js读书笔记之mongodb数据库交互
Dec 22 Javascript
JavaScript前补零操作实例
Mar 11 Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 Javascript
JavaScript仿网易选项卡制作代码
Oct 06 Javascript
js获取元素的标签名实现方法
Oct 08 Javascript
vue获取dom元素注意事项
Dec 28 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
JavaScript中AOP的实现与应用
May 06 Javascript
基于vue实现简易打地鼠游戏
Aug 21 Javascript
JS获取鼠标坐标的实例方法
Jul 18 #Javascript
非常好用的JsonToString 方法 简单实例
Jul 18 #Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 #Javascript
JS随机生成不重复数据的实例方法
Jul 17 #Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
Jul 17 #Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
Jul 17 #Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 #Javascript
You might like
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
js实现圆盘记速表
2015/08/03 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
Python编码类型转换方法详解
2016/07/01 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
护士辞职信模板
2014/01/20 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
科技节口号
2014/06/19 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
教师党员个人自我评价
2015/03/04 职场文书
农村党支部承诺书
2015/04/30 职场文书
请病假条范文
2015/08/17 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL