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文件的代码
Jul 18 Javascript
在JavaScript中实现类的方式探讨
Aug 28 Javascript
浅谈javascript 迭代方法
Jan 21 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
Jun 22 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
iview实现图片上传功能
Jun 29 Javascript
一起深入理解js中的事件对象
Feb 06 Javascript
详解Vue的options
May 15 Vue.js
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数组实例总结与说明
2011/08/23 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
newxtree.js代码
2007/03/13 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Python验证企业工商注册码
2015/10/25 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
基于python实现删除指定文件类型
2020/07/21 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
刑事法律意见书
2015/06/04 职场文书
士兵突击观后感
2015/06/16 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
python之json文件转xml文件案例讲解
2021/08/07 Python