博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【js拾遗】名称空间
阅读量:6371 次
发布时间:2019-06-23

本文共 1087 字,大约阅读时间需要 3 分钟。

function NameSpace(ns) {            if (!ns) {                return null;            }            var arr = ns.split('.');            //第一次调用的时候window.utry的值为{};            //第二次调用的时候window.utry的值为window.utry;            window[arr[0]] = window[arr[0]] || {};            //obj是window.utry的引用            var obj = window[arr[0]];            //result也是window.utry的引用            var result = obj;            var len = arr.length;            //注意i是从1开始的            for (var i = 1; i < len; i++) {                //第一次调用的第一次循环obj.base的值是{};                //因为obj是window.utry的引用,那么window.utry.base的值就是{};                obj[arr[i]] = obj[arr[i]] || {};                //obj变成了window.utry.base的引用                //第二次循环的时候,就变成了对window.utry.base.sys的赋值了                obj = obj[arr[i]];            }            return result;        }        NameSpace("utry.base.sys");        utry.base.sys.fn = function () {            alert("这是名称空间里的一个方法");        }        //这是为了证明函数不会被覆盖掉        NameSpace("utry.base.sys");        utry.base.sys.fn();        //咦,这样可以打印出函数体        alert(utry.base.sys.fn);

 

转载地址:http://fbuqa.baihongyu.com/

你可能感兴趣的文章
Confluence 6 配置推荐更新邮件通知默认的初始化设置
查看>>
Spring MVC
查看>>
Discuz!X目录结构
查看>>
tomcat基础应用配置以及apache和nginx方向代理的配置
查看>>
yum配置及其应用
查看>>
香菇冬瓜蒸鸡
查看>>
LeetCode:Rank Scores - 按分数排名次
查看>>
解谜游戏 MU Complex 的过关图文攻略 (Episode2)(中)
查看>>
DDoS
查看>>
apache 开源项目源码地址
查看>>
java 替换字符串模板(模板渲染)
查看>>
我的友情链接
查看>>
别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(4)
查看>>
javaVuser——javamail发送邮件+附件
查看>>
我的友情链接
查看>>
解决vmware克隆虚拟机网卡无法启动
查看>>
Linux操作系统下杀死进程命令的方法
查看>>
nc 查看服务器开启端口
查看>>
赋值运算符
查看>>
猪肉都被绑上了“家族标签”,大数据已波及到农牧业!
查看>>