分析jQueryのソース(3) - 着信オブジェクトまたは配列関数か否かを判定する

VaRの class2type = {}、
     core_toString = class2type.toString。

jQuery.extend({ 
  isFunction:関数(OBJ){
     戻り jQuery.type(OBJ)=== '関数' ; 
  } 
  でIsArray:Array.isArray || 関数(OBJ)を{
     返す '=== jQuery.type(OBJ)をアレイ」; 
  } 

  :入力機能(OBJ)を{
     場合(OBJ == NULL ){
       戻り、文字列(OBJ)
    } 
    戻り typeof演算オブジェクト'|| OBJ ===' typeof演算OBJ === '関数'?
              class2type [core_toString.call(OBJ)]   || 'オブジェクト':   typeof演算OBJ。
  } 
})。
 
typeofを、jQueryの拡張typeof演算能力のために、アレイ、RegExpオブジェクトの種類などを区別$ .TYPEを追加しません。
また、特定のオブジェクト(例えば、NULL、配列、正規表現)の正確な型判定用。
フック機構の使用は、前者のタイプ、格納ハッシュテーブルclass2typeにおける一般的なタイプを決定します。
jQuery.each( 'ブール番号文字列関数配列日付RegExpオブジェクトError'.split('「)、機能(I、名){ 
    class2typeの[ '[オブジェクト' +名+ ']'] = name.toLowerCase(); 
} );

 

おすすめ

転載: www.cnblogs.com/easonw/p/11505304.html