当在同一个网页里引入10多个js文件之后, 各js中的同名函数就很容易冲突了。 比如xxx库里写了个addCSSStyle方法, yyy类库里也写了个addCssStyle方法, 而这两个方法的具体实现又有一定差别。 那么同时引用这两个组件的时候,函数冲突之后导致页面效果发生变化, 调试和修改都是非常痛苦的,如果为了避免冲突, 而放弃引用一些优秀的组件,那更是让人郁闷的事情。 为此,在封装javascript组件库的时候,请使用命名空间来避免冲突。 将所有的方法和变量都要按包名类名的方式来写。 (这个时候写代码的感觉和封装java的util方法一样方便,呵呵) 由此,我的js库按如下方式封装。 google了半天,都没现成的,于是自己摸索出来,示例代码如下: (lizongbo原创!!!) 把上面的代码复制网页里看看效果吧。 对比两种实现方式,现有代码按第二种方式改造最为方便。 再把js文件按命名空间命名,那样操作就更加方便了。 例如 只要都按此方式编写的库,再也不用担心引入多个js文件之后的函数冲突问题了。
为你封装的javascript库加上命名空间以提高代码重用性
Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
来源: http://www.phperz.com/article/16/1209/287761.html