jQuery编写widget的一些窍门

  1. 在编写widget的时候,一般我们需要绑定一些事件,最好将这些widget的绑定事件加上当前widget的命名空间。如果同一个jQuery对象,使用了两个widget,而两个widget都绑定了相同的事件名称,可能会出现问题。在销毁widget的时候,去除绑定事件也很方便,只需要unbind(”.namespace“)就可以了。
  2. 在写jQuery的时候,因为jQuery对象是支持连写的。譬如:$(obj).css("height","20px").attr("title","abc")....
  3. 在编写的时候可以利用javascript的原生方法来避免switch。
    switch(a)
    {
      
    case "aa":
        
    this._set_aa();
        
    break;
      
    case "bb":
        this._set_bb();
        break;
      case "cc"
        this._set_cc();
        break;
    }

     

    上面的代码可以用下面的代码替换
    this["_set_"+a]();

     

     
  4. 尽量缓存jQuery对象,和各种变量。这样可以提高脚本的性能
  5. 采用变量缓存this指针,在最小化代码的时候this可以被最小化掉。
  6. 最好将css类名取一致的名称,然后定义变量保存起来。在使用的时候直接采用变量,这样就算css名称有调整,只需要改变变量缓存的值即可。同时代码在最小化的时候也能减小体积。
  7. setOption的时候,如果一个option是复杂对象,而不是简单的值对象,最好不要简单的this.options[key]=value.而在这之前需要将value和以前的option的值做一个extend,然后在赋值,这样可以保留复杂对象原有的部分值。比如:
    var a = {width:120,height:200};
    var c={width:200};
    a
    =c;
    a
    =$.extend(a,c);

     

     其结果是第一个a将是{width:20},会丢失掉height:200;而下面的那个将继续保留原始的height:200。
posted @ 2010-10-27 14:31  dail  阅读(3286)  评论(4编辑  收藏  举报