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); })
実行結果:
ソースコード分析:
// 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
ソースコード分析:
このメソッドは 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 オブジェクトの詳細は後で分析します。皆様も上記の内容をお楽しみいただければ幸いです。