ホームページ  >  記事  >  ウェブフロントエンド  >  コード分​​析 jQuery の 4 つの静的メソッド use_jquery

コード分​​析 jQuery の 4 つの静的メソッド use_jquery

WBOY
WBOYオリジナル
2016-05-16 15:49:171344ブラウズ

jQery の各メソッドには、対応するコード分析があり、以下の概要を参照してください。

isFunction メソッド

関数かどうかをテストするために使用されるオブジェクト

例:

function stub() {
  }
var objs = [
      function () {},
      { x:15, y:20 },
      null,
      stub,
      "function"
     ];
    jQuery.each(objs, function (i) {
    var isFunc = jQuery.isFunction(objs[i]);
    $("span:eq( " + i + ")").text(isFunc);
 })

実行結果:

コードをコピーします コードは次のとおりです:

[ true,false,false,true,false ]

ソースコード分析:

// See test/unit/core.js for details concerning isFunction.
// Since version 1.3, DOM methods and functions like alert
// aren't supported. They return false on IE (#2968).
isFunction: function( obj ) {
   return jQuery.type(obj) === "function";
},

まず最初に、バージョン 1.3 以降、一部の DOM メソッドとアラートなどの関数が、toString メソッドと valueOf メソッドが false を返すというバグがあることをお知らせします。書き直され、誰かが使用を提案しました。instanceof メソッドは検出しますが、ie6 にはまだ問題があります。現在のところ、このバグは解決されていません。詳細については、1.7.1 を解析しているため、このバージョンに従うだけです。戻り結果が文字列関数であるかどうかを判断します

isArray メソッド

配列かどうかをテストするために使用されるオブジェクト

例:

$("b").append( " + $.isArray([]) );//<b>true</b>

isArray: Array.isArray || function( obj ) {
    return jQuery.type(obj) === "array";
 },

isFunctoin のように type メソッドの戻り結果を直接使用します

isNumeric メソッド

引数が数値かどうかを判断します。

$.isNumeric() メソッドは、引数が数値を表すかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。パラメータは任意のタイプにすることができます

例:

$.isNumeric("-10"); // true
$.isNumeric(16);   // true
$.isNumeric(0xFF);  // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5"); // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10);  // true
$.isNumeric(0144);  // true (octal integer literal)
$.isNumeric("");   // false
$.isNumeric({});   // false (empty object)
$.isNumeric(NaN);  // false
$.isNumeric(null);  // false
$.isNumeric(true);  // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false

ソースコード分析:

コードをコピーします コードは次のとおりです:

isNumeric: function( obj ) {
return !isNaN( parseFloat(obj) ) && isFinite( obj );
}、

このメソッドは Number 型を決定するのではなく、渡されたパラメーターに数値が含まれている限り true を返します。まず、parseFloat メソッドを使用してパラメーターを配列に変換します。このメソッドはフィルタリングのためにパラメータの数値部分を保持し、他の部分を削除します。結果が NaN でなく、最大値を超えていない場合は true、それ以外の場合は false を返します

isWindow メソッド

ウィンドウ オブジェクトかどうかをテストするために使用されます

<div class="codetitle"><span><a style="CURSOR: pointer" data="41657" class="copybut" id="copybut41657" onclick="doCopy('code41657')"><U>复制代码</U></a></span> 代码如下:</div><div class="codebody" id="code41657">isNumeric: function( obj ) {
    return !isNaN( parseFloat(obj) ) && isFinite( obj );
},
</div>

オブジェクトがウィンドウであるかどうかを判断する大まかなメソッド。渡されたオブジェクトが条件を満たし、setInterval メソッドを持っている場合、そのオブジェクトはウィンドウ オブジェクトであるとみなされるようになりました。 window オブジェクトの詳細は後で分析します。皆様も上記の内容をお楽しみいただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。