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 相关文章推荐
jQuery 表格工具集
Apr 25 Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
使用时间戳解决ie缓存的问题
Aug 20 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
js实现非常简单的焦点图切换特效实例
May 07 Javascript
js倒计时简单实现方法
Dec 17 Javascript
轮播图组件js代码
Aug 08 Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 Javascript
jQuery+pjax简单示例汇总
Apr 21 jQuery
JavaScript的继承实现小结
May 07 Javascript
微信小程序自定义波浪组件使用方法详解
Sep 21 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
Jun 01 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连接MSSQL方法汇总
2016/02/05 PHP
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
班组长安全生产职责
2013/12/16 职场文书
中考标语大全
2014/06/05 职场文书
应届大学生自荐书
2014/06/17 职场文书
六查六看六改心得体会
2014/10/14 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js