這裏羅列一些jQuery的細小知識點,如javascript面向對象編程理解,$.extend, $.data等javascript
0. javascript面向對象編程理解html
關於javascript面向對象編程理解,阮一峯在其4篇博客針對「封裝」,「構造函數的繼承」,「非構造函數的繼承」,「繼承機制的設計思想」中進行了解說,很是容易懂。
java
1. $.extendjquery
jQuery的extend方法是在寫jQuery插件過程當中經常使用的方法,該方法有一些重載模型,詳見這裏git
2. $.datagithub
data方法用來向被選元素附加數據,或者從被選元素獲取數據,詳見這裏編程
3. $.fnide
$.fn = $.prototype{函數
init: function(){},idea
....
}
4. $.expr[:]
能夠結合$.extend和$.expr[:]來構建本身的僞類選擇器,如jquery.validataion中實例:
// Custom selectors
$.extend( $.expr[ ":" ], {
// http://jqueryvalidation.org/blank-selector/
blank: function( a ) {
return !$.trim( "" + $( a ).val() );
},
// http://jqueryvalidation.org/filled-selector/
filled: function( a ) {
return !!$.trim( "" + $( a ).val() );
},
// http://jqueryvalidation.org/unchecked-selector/
unchecked: function( a ) {
return !$( a ).prop( "checked" );
}
});
5. $.trim
$.trim方法用來去掉字符串中先後空格
$.trim(' I love China '); // return 'I love China';
6. == vs ===[stackoverflow]
==:equal operator
====:identity operator
==在比較過程當中會將兩個不一樣類型的變量轉換成相同類型而後進行比較,===則不會進行類型轉換;
若是==和===兩端要比較的對象是相同類型的則能夠認爲==和===沒有區別。