当前位置: 首页 > news >正文

大会的网站架构ppt简约大气模板

大会的网站架构,ppt简约大气模板,做国际贸易做什么网站,中文搜索引擎有哪些引入命名空间之前#xff0c;一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突#xff0c;在一个公司内部项目组之间可以通过命名预定#xff08;比如加前缀等#xff09;解决这个问题#xff0c;但是把视线放到整个软件开发领域#xff0c;在当今协作开发…     引入命名空间之前一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突在一个公司内部项目组之间可以通过命名预定比如加前缀等解决这个问题但是把视线放到整个软件开发领域在当今协作开发相当盛行的时代这个问题却依然存在。在使用多个第三方框架或类库的时候你唯一能作的就是祈祷它们的命名不要冲突如果真正发生这种灾难的话你唯一能作的就是放弃其中一个注可能是我孤陋寡闻呵呵。命名空间的引入相当程度上解决了这个问题当然如果你使用的命名空间和其他公司不幸一样而对方又是微软、SUN等大佬那恭喜你呵呵_!      从事Web开发不可避免要接触JavaScript目前最新版本的JavaScript还是不支持命名空间所以命名冲突的问题凸显无疑想象一下你引用了两个js文件却发现由于命名问题导致你不得不放弃其中一个从而导致多写了许多代码无疑是十分令人沮丧的。在JavaScript新版本引入命名空间概念之前发扬自立更生精神和创造性是我们程序员的基本义务;-)  实现前提与Delphi、C#等语言不同JavaScript中的类并不是对象的定义事实上JavaScript中并不存在真正的类这里的类实际上是用函数模拟实现的而JavaScript中的函数实际上是一个对象因此在JavaScript中一个类就是一个对象。这和传统概念概念极为不同在JavaScript中创建某个类的实例实际上就是将类对象记住复制了一份。看到这里有点设计模式概念的应该就可以看出来了在JavaScript中类机制使用了原型prototype模式。  实现原理既然看清楚了类的本质那么问题就简单了如果将GEA项目组所有JS类和函数作为属性放在名为GEA的对象里面然后将GEA对象以属性的方式放在名为Grandsoft对象里面不就可以达到我们的目的比如Grandsoft.GEA.Person实际上是在Grandsoft对象的属性GEA也是一个对象中的类Person还是一个对象。  实现非常简单整个命名空间机制的实现不超过20行代码分析如下  // 声明一个全局对象Namespace用来注册命名空间 Namespace new Object(); // 全局对象仅仅存在register函数参数为名称空间全路径如Grandsoft.GEA Namespace.register function(fullNS) {// 将命名空间切成N部分, 比如Grandsoft、GEA等var nsArray fullNS.split(.);var sEval ;var sNS ;for (var i 0; i nsArray.length; i){if (i ! 0) sNS .;sNS nsArray[i];// 依次创建构造命名空间对象假如不存在的话的语句// 比如先创建Grandsoft然后创建Grandsoft.GEA依次下去sEval if (typeof( sNS ) undefined) sNS new Object();}if (sEval ! ) eval(sEval); }上面就是在JavaScript中模拟命名空间机制的完整实现使用方式如下  // 注册命名空间Grandsoft.GEA, Grandsoft.GCM Namespace.register(Grandsoft.GEA); Namespace.register(Grandsoft.GCM); // 在Grandsoft.GEA命名空间里面声明类Person Grandsoft.GEA.Person function(name, age) {this.name name;this.age age; } // 给类Person添加一个公共方法show() Grandsoft.GEA.Person.prototype.show function() {alert(this.name is this.age years old!); } // 演示如何使用类Person var p new Grandsoft.GEA.Person(yanglf, 25); p.show();   第二种创建命名空间的方法 eye {namespace: function() {var a arguments, o null, i, j, d, rt;for (i 0; i a.length; i) {d a[i].split(.);rt d[0];eval(if (typeof rt undefined){ rt {};} o rt ;);for (j 1; j d.length; j) {o[d[j]] o[d[j]] || {};o o[d[j]];}}} };eye.namespace(eye, eye.common, eye.datePicker, eye.selectCity, eye.tab,eye.test); eye.test{//测试命名空间show: function() {return aaa;} } alert(eye.test.show());//命名空间function ns(pkg){if (!pkg) {return null;}var o {};var result o;var arr pkg.split(.);alert([arr[0]]);o o[[arr[0]]] {};var len arr.length;for (var i 1; i len; i) {o o[arr[i]] {};}return result; }var pkg ns(com.momo.test); alert(pkg.com);转载于:https://www.cnblogs.com/gaojianqi/p/3454004.html
http://wiki.neutronadmin.com/news/67353/

相关文章:

  • 网站模板制作教程河北邯郸建网站
  • 网站免费做app网页设计网站建设招聘
  • 在中国可以做国外的域名网站吗软文优化
  • 网络推广渠道都有哪些镇江网站推广优化
  • 360阻止建设银行网站宝安网站设计招聘信息
  • 网站正在建设中热网站建设的源代码
  • 织梦配置手机网站温州网站改版公司哪家好
  • 深圳营销型网站策划建设银行U盾不自己弹网站了
  • 自己做网站出证书网站优化基本技巧
  • 广告 网站举例核工业华南建设集团网站
  • 莱山做网站的公司网站建设哪儿济南兴田德润什么活动
  • 阿克苏网站开发工业软件开发
  • iis7配置网站404页面全屏的翻页网站这么做
  • 做网站怎么添加背景图片网站查询域名解析
  • 云南机场建设集团网站租车网站建设
  • 迎访问中国建设银行网站-深圳网站建设哪家好
  • 苏州市建设工程质量监督站网站创建5a 网站建设要求
  • 宝安附近公司做网站建设哪家效益快ppt素材免费网站
  • 内蒙古建设网站模板网建站
  • 怎么在视频网站做淘宝客口碑营销的经典案例
  • 帮别人做彩票网站吗一对一软件
  • 利用wix建手机网站h5网站建设代理
  • 网站设计的一般流程是什么如何做好企业网站建设工作
  • 网站更改备案信息在哪里小程序开发难吗
  • 迅雷网站做爰视频自己有货源怎么找客户
  • 深圳免费模板建站中国建设教育协会的网站查询
  • 做网站后台数据库建设公司网站经常打不开
  • 做海报文案的参考网站asp网站开发教程
  • 培训学校网站系统温州阀门网站建设
  • 网站建设的培训的感受网站seo招聘