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实现雪花飘落效果
Aug 26 Javascript
javascript获取xml节点的最大值(实现代码)
Dec 11 Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 Javascript
table行随鼠标移动变色示例
May 07 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
Dec 18 Javascript
js删除数组元素、清空数组的简单方法(必看)
Jul 27 Javascript
AngularJS 执行流程详细介绍
Aug 18 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
Jan 20 Javascript
webpack 样式加载的实现原理
Jun 12 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
Vue.js中的组件系统
May 30 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基础知识回顾
2012/08/16 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
Display SQL Server Version Information
2007/06/21 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
JS实现密码框效果
2020/09/10 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python操作csv文件实例详解
2017/07/31 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
招商经理岗位职责
2013/11/16 职场文书
实验室标语
2014/06/21 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Rust中的Struct使用示例详解
2022/08/14 Javascript