Maison > Article > interface Web > Analyse du code jQuery quatre méthodes statiques use_jquery
Chaque méthode dans jQery a une analyse de code correspondante, qui est très détaillée. Veuillez consulter l'introduction ci-dessous :
Méthode isFunction
Objet utilisé pour tester s'il s'agit d'une fonction
Exemple :
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); })
Résultat de l'exécution :
Analyse du code source :
// 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"; },
Tout d'abord, laissez-moi vous dire qu'il y a un bug depuis la version 1.3. Certaines méthodes et fonctions DOM telles que alert retourneront false dans IE Après avoir regardé ce bug, car la méthode toString et la méthode valueOf le seront. réécrit, quelqu'un a proposé d'utiliser la méthode instanceof détecte mais il y a toujours un problème dans ie6. Jusqu'à présent, ce bug n'a pas été résolu. Pour plus de détails, vous pouvez vous référer à la page des bugs du site officiel. Parce que j'analyse la 1.7.1, je suivrai d'abord cette version. Cette méthode consiste simplement à appeler la méthode type. déterminer si le résultat renvoyé est une fonction de chaîne
Méthode isArray
Objet utilisé pour tester s'il s'agit d'un tableau
Exemple :
$("b").append( " + $.isArray([]) );//<b>true</b> isArray: Array.isArray || function( obj ) { return jQuery.type(obj) === "array"; },
Utilisez le résultat de retour de la méthode type directement comme isFunctoin
Méthode isNumeric
Détermine si son argument est un nombre.
La méthode $.isNumeric() vérifie si son argument représente une valeur numérique. Si c'est le cas, cela renvoie vrai. Sinon, il renvoie faux. Le paramètre peut être de n'importe quel type
Exemple :
$.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
Analyse du code source :
Cette méthode ne détermine pas le type Number mais un type qui ressemble à un nombre. Tant que le paramètre transmis contient un nombre, il retournera true. Tout d'abord, utilisez la méthode parseFloat pour convertir le paramètre en tableau. Cette méthode conservera la partie numérique du paramètre pour le filtrage. Supprimera les autres parties, si le résultat n'est pas NaN et ne dépasse pas la valeur maximale, c'est vrai, sinon il renvoie faux
.Méthode isWindow
Utilisé pour tester s'il s'agit d'un objet fenêtre
<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>
Une méthode approximative pour déterminer si l'objet est une fenêtre. Si l'objet transmis est satisfait et possède une méthode setInterval, l'objet est considéré comme un objet fenêtre. Cette méthode a maintenant été modifiée pour déterminer s'il s'agit d'un objet fenêtre. objet window. Les détails seront analysés plus tard. J'espère que vous apprécierez tous le contenu ci-dessus.