首页 > 代码库 > javascript优化--06模式(对象)

javascript优化--06模式(对象)

命名空间模式:

  • 优点:可以解决命名混乱和第三方冲突;
  • 缺点:长嵌套导致更长的查询时间;更多的字符;
  • 通用命名空间函数:
    var MYAPP = MYAPP || {};MYAPP.namespace = function (ns_string) {    var parts = ns_string.split(‘.‘);    parent = MYAPP;      if(parts[0] === ‘MYAPP‘) {        parts = parts.slice(1);   }   for(var  i = 0; i < parts.length; i++) {      if(typeof parent[parts[i]] === ‘undefined‘) {          parent[parts[i]]  = {};      }       parent = parent[parts[i]];   }   return parent;}var module2 = MYAPP.namespace(‘MYAPP.modules.module2‘);
  • 声明依赖关系:虽然已经进行了模块化命名,但再声明依赖能更优化
    如对于:MYAPP, MYAPP.util.Event, MYAPP.util.Dom;//在一个函数或模块顶部进行声明var  myFunc = function() {   var event = MYAPP.util.Event;   var dom = MYAPP.util.Dom;................} 

    解析局部变量的速度比解析全局变量快;

  • 私有属性和特权方法
    function Gadget() {   var name = ‘iPod‘;   this.getName = function () {        return name;   }}

    注意,如果私有属性设置是一个对象,且只读,那么不要将它直接返回,而是返回其浅复制后的副本;  

 

javascript优化--06模式(对象)