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 相关文章推荐
IE与FireFox的兼容性问题分析
Apr 22 Javascript
利用javascript/jquery对上传文件格式过滤的方法
Jul 25 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
JavaScript模板引擎用法实例
Jul 10 Javascript
JQuery实现级联下拉框效果实例讲解
Sep 17 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
基于zTree树形菜单的使用实例
Dec 25 Javascript
前后端如何实现登录token拦截校验详解
Sep 03 Javascript
让mocha支持ES6模块的方法实现
Jan 14 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
toString()一个会自动调用的方法
2010/02/08 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
2011/01/06 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
python使用Berkeley DB数据库实例
2014/09/26 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
通信工程专业毕业生推荐信
2013/12/25 职场文书
会计的岗位职责
2014/03/15 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
党支部鉴定意见
2015/06/02 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书