jQuery編寫widget的一些技巧分享
更新時間:2010年10月28日 12:54:06 作者:
在編寫widget的時候,一般我們需要綁定一些事件,最好將這些widget的綁定事件加上當(dāng)前widget的命名空間。
1、在編寫widget的時候,一般我們需要綁定一些事件,最好將這些widget的綁定事件加上當(dāng)前widget的命名空間。如果同一個jQuery對象,使用了兩個widget,而兩個widget都綁定了相同的事件名稱,可能會出現(xiàn)問題。在銷毀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名稱有調(diào)整,只需要改變變量緩存的值即可。同時代碼在最小化的時候也能減小體積。
7、setOption的時候,如果一個option是復(fù)雜對象,而不是簡單的值對象,最好不要簡單的this.options[key]=value.而在這之前需要將value和以前的option的值做一個extend,然后在賦值,這樣可以保留復(fù)雜對象原有的部分值。比如:
var a = {width:120,height:200};
var c={width:200};
a=c;
a=$.extend(a,c);
其結(jié)果是第一個a將是{width:20},會丟失掉height:200;而下面的那個將繼續(xù)保留原始的height:200。
2、在寫jQuery的時候,因為jQuery對象是支持連寫的。譬如:$(obj).css("height","20px").attr("title","abc")....
3、在編寫的時候可以利用javascript的原生方法來避免switch。
復(fù)制代碼 代碼如下:
switch(a)
{
case "aa":
this._set_aa();
break;
case "bb":
this._set_bb();
break;
case "cc"
this._set_cc();
break;
}
上面的代碼可以用下面的代碼替換
復(fù)制代碼 代碼如下:
this["_set_"+a]();
4、盡量緩存jQuery對象,和各種變量。這樣可以提高腳本的性能
5、采用變量緩存this指針,在最小化代碼的時候this可以被最小化掉。
6、最好將css類名取一致的名稱,然后定義變量保存起來。在使用的時候直接采用變量,這樣就算css名稱有調(diào)整,只需要改變變量緩存的值即可。同時代碼在最小化的時候也能減小體積。
7、setOption的時候,如果一個option是復(fù)雜對象,而不是簡單的值對象,最好不要簡單的this.options[key]=value.而在這之前需要將value和以前的option的值做一個extend,然后在賦值,這樣可以保留復(fù)雜對象原有的部分值。比如:
復(fù)制代碼 代碼如下:
var a = {width:120,height:200};
var c={width:200};
a=c;
a=$.extend(a,c);
其結(jié)果是第一個a將是{width:20},會丟失掉height:200;而下面的那個將繼續(xù)保留原始的height:200。
相關(guān)文章
jQuery數(shù)據(jù)類型小結(jié)(14個)
jQuery除了包含原生JS中的內(nèi)置數(shù)據(jù)類型(built-in datatype),還包括一些擴(kuò)展的數(shù)據(jù)類型(virtual types),如Selectors、Events等,通過本文給大家分享14個jquery數(shù)據(jù)類型,感興趣的朋友一起學(xué)習(xí)吧2016-01-01jQuery中slideUp 和 slideDown 的點擊事件
這篇文章主要介紹了jQuery中slideUp 和 slideDown 的點擊事件的相關(guān)資料,需要的朋友可以參考下2015-02-02jQuery.extend()、jQuery.fn.extend()擴(kuò)展方法示例詳解
這篇文章主要介紹了jQuery.extend()、jQuery.fn.extend()擴(kuò)展方法的應(yīng)用,需要的朋友可以參考下2014-05-05為Jquery EasyUI 組件加上清除功能的方法(詳解)
下面小編就為大家?guī)硪黄獮镴query EasyUI 組件加上清除功能的方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04