- 浏览: 51438 次
- 性别:
- 来自: 株洲
文章分类
最新评论
function ns(pac){ if(!pac) { return null; } var arr=pac.split("."); var tt=window[arr[0]]; var cc=window.c2; window.c2={}; var tt2=window[arr[0]]||{}; var o=window[arr[0]]=window[arr[0]]||{}; var result=o; var len=arr.length; for(var i=1;i<len;i++) { o=o[arr[i]]=o[arr[i]]||{}; } return result; } ns("com.yumei.test"); ns("com.yumei.mytest"); com.yumei.test.fn=function(){ alert("test"); }; alert(com.yumei.test.fn);
上面的函数就是建立命名空间的函数,有几个知识点,是学到这里才稍微明白点的。
1:var tt=window[arr[0]];//这个时候tt的值是undefined,因为这个时候window的arr[0]这个属性没有值。
原因是arr[0]没有人赋值给它。arr[0]={};这个才是赋值。
同理cc开始也是undefined。
window.cc={};这个时候window就有cc这个属性啦。
2:命名空间是个全局的变量,所以按照设计应该放到window下面缓存起来就最合适啦。
3:var o=window[arr[0]]=window[arr[0]]||{};
起到的作用是先判断window是否有arr[0]这个属性有就第二个等号赋值覆盖,没有就赋值为{};
||的作用是从左到右直到取到有效的值才停止。所谓有效的值是除0,null,undefined,'',NaN
发表评论
-
javascirpt对象创建
2015-08-26 21:21 504javascript中的面向对象 理解js中的对象 最 ... -
react的学习总结
2015-06-10 11:51 1959React介绍(具体总结请参考附件chm,本文的chm版 ... -
抽取jquery源码实现获取元素的精确位置
2014-10-18 11:32 413获取元素准确位置的写法 知识点预备:getBounding ... -
jquery实现弹窗居中的简单效果
2014-10-18 09:24 968<!DOCTYPE html PUBLIC &quo ... -
javascript 基础知识零散汇总
2014-09-29 15:09 3741:数据类型判断 基础类型判断 Object.prot ... -
jquery jsonp参数编码问题不一致问题的解决方案
2014-09-27 23:06 6767<!doctype html> <ht ... -
javascript源对象于对象引用之前不得不说的事情
2014-09-13 17:05 374var source = {"a":3 ... -
sEMMET插件的最全快捷方式【来自Dash文档中心】
2014-09-11 10:44 555s -
仿淘宝放大镜效果
2014-09-11 00:31 428/* *知识点预备 clientX,clientY ... -
js--简单放大镜实现(带移动方块)
2014-09-11 00:22 735/* *知识点预备 clientX,clientY ... -
js+css自定义滚动条(包含滚动事件处理)
2014-08-31 12:11 560<!DOCTYPE html> <htm ... -
div+css(javascript)自定义滚动条
2014-08-31 10:07 320<!DOCTYPE html> <ht ... -
javascript--闭包彻底弄清楚
2014-08-27 10:09 377<!DOCTYPE html> ... -
JavaScript 闭包再探讨
2014-08-27 10:03 0<!DOCTYPE html> <htm ... -
JavaScript 闭包再探讨
2014-08-27 10:03 402<!DOCTYPE html> <htm ... -
javascript位置相关(一)---offset等测试
2014-08-17 21:19 479元素的offsetParent属性 : 只读 属性 离当前 ... -
javascript位置相关(二)--getBoundingClientRect
2014-08-17 21:17 601http://msdn.microsoft.com/en- ... -
setTimeout 使用
2014-08-17 18:22 411开门见山:众所周知,setTimeout ... -
setTimeout 0 使用
2014-08-17 18:03 430经常看到setTimeout延 ... -
前端知识点分享3--DOM操作
2014-07-28 22:27 525首先先要知道我们必须 ...
相关推荐
通过分析这个文件,我们可以学习如何动态地添加和组织代码到已有的命名空间结构中,进一步提高代码的可维护性和可复用性。 总之,模拟jQuery命名空间是JavaScript开发中的重要技巧,它可以避免命名冲突,提高代码的...
EXT JS是一个用于构建富客户端Web应用程序的JavaScript库,它提供了一种模块化、面向对象的方式来组织代码,其中命名空间就是这个体系中的关键组成部分。 在EXT JS中,命名空间是通过类(Class)的层次结构来实现的...
XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件等领域。...通过学习和实践这些知识,你可以更好地处理涉及命名空间的XML文档,提升在数据处理和应用开发中的能力。
namespace即“命名空间”,也称“名称空间” 、”名字空间”。接下来通过本文给大家介绍JavaScript中命名空间namespace模式的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
本文将深入探讨“jQuery自定义插件命名空间问题”,这涉及到如何优雅地组织和管理自定义的jQuery扩展,以避免冲突并保持代码的可维护性。 首先,了解jQuery插件的基本结构至关重要。一个简单的jQuery插件通常会定义...
学习和使用EXT dojochinaExt命名空间,开发者不仅可以利用EXT的强大功能,还能享受到针对中国开发者优化的特性和便利。在实际项目中,通过合理利用这些组件和功能,可以提高开发效率,创建出符合中国用户需求的高...
在编程领域中,命名空间是一个重要的概念,它帮助开发者避免全局作用域中的名称冲突,...在学习和开发JavaScript时,了解如何模拟命名空间以及如何使用ES6的模块系统,对于编写结构化和可维护的代码都是非常有帮助的。
9.1.6 XML命名空间 230 9.2 XML DOM 231 9.2.1 通用接口 232 9.2.2 IE中的XML DOM支持 232 9.2.3 Mozilla中XML DOM支持 237 9.2.4 XML DOM实例 241 9.3 XPath 247 9.3.1 XPath概述 247 9.3.2 IE中的XPath支持 249 ...
JavaScript中的作用域与命名空间是编程中至关重要的概念,它们决定了变量和函数的可见性和生命周期。在JavaScript中,作用域是指变量和函数的定义范围,它决定了这些元素可以在何处被访问。而命名空间则是一种组织...
JavaScript中的作用域与命名空间是理解其核心概念的关键部分。首先,我们要明白JavaScript的作用域规则。不同于其他一些语言,JavaScript并没有块级作用域,而是采用了函数级作用域。这意味着变量的作用范围只限定在...
- **命名空间**:使用对象作为命名空间,避免全局变量污染。 - **实现短类名**:通过模块化或ES6的导入导出机制简化类名。 以上是对给定文件中JavaScript知识点的详细总结,希望能帮助读者更深入地理解和掌握...
1. **使用命名空间(Namespace)**:在给定的示例中,`ziggy_js` 就是一个自定义的命名空间。通过将所有相关的函数和对象封装在一个大的对象或函数内,可以有效地避免全局命名冲突。例如,`ziggy_js.ui.alerts....
### JavaScript的命名空间 **命名空间**的概念用于避免全局作用域中的变量冲突。在JavaScript中,可以通过对象字面量的方式定义命名空间,如下所示: ```javascript var namespace = namespace || {}; // 定义或...
7. **无命名空间版本与命名空间版本**:在提供的压缩包中,`no_namespace`可能是指未使用命名空间的版本,这允许开发人员将Draw2d.js与自己的代码库更无缝地集成。而`with_namespace`可能是使用了特定命名空间的版本...
对于学习和理解这个库的工作原理,你可以查看源码,了解它是如何解析和创建命名空间对象的。同时,测试用例可以帮助你验证库的功能,并提供使用示例。阅读文档则能让你更好地掌握如何在项目中有效利用leya-ns。 ...
1. **命名空间和代码结构**:组织代码时,采用命名空间(Namespace)和包(Package)设计能有效避免命名冲突。例如,dojo、dojox和dijit是Dojo框架中的子项目。使用目录、文件和类来分隔代码,并创建良好的命名空间...
1. **命名空间(Namespace)**: 代码中创建了`JsHelper`作为根命名空间,通过以下方式组织代码: ```javascript JsHelper.DOM = {}; JsHelper.Event = {}; JsHelper.Browser = {}; JsHelper.Ajax = {}; ...
2. **命名空间**:为了避免全局变量污染,我们可以使用闭包或者立即执行函数来创建私有作用域,或者使用命名空间对象来组织公共接口。 3. **函数封装**:将功能封装为独立的函数,每个函数都有明确的职责,遵循单一...
虽然JavaScript本身没有内置的命名空间机制,但可以通过创建对象并将其用作容器来模拟命名空间: ```javascript var MyApp = MyApp || {}; MyApp.module = {}; MyApp.module.subModule = {}; ``` 总的来说,...
2. **验证命名空间**:确认使用的命名空间是否与服务端期望的一致。 3. **调试服务器端**:查看服务端的日志,看是否有接收到请求并处理的记录,以及返回的错误信息。 4. **检查跨域设置**:如果使用非IE浏览器,...