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。