Maison > interface Web > js tutoriel > 4 méthodes et comparaison de l'efficacité de JavaScript pour déterminer s'il s'agit d'un nombre_javascript skills

4 méthodes et comparaison de l'efficacité de JavaScript pour déterminer s'il s'agit d'un nombre_javascript skills

WBOY
Libérer: 2016-05-16 16:06:37
original
1075 Les gens l'ont consulté

Aujourd'hui, j'ai fait une comparaison d'efficacité sur Chrome pour différentes méthodes de détermination numérique. Les résultats sont les suivants :

Remarque : les expressions régulières ne peuvent être utilisées que pour déterminer si le contenu d'une chaîne est une valeur numérique pure, mais ne peuvent pas être utilisées pour déterminer s'il s'agit d'un objet numérique. Mettez ici uniquement à titre de comparaison.

Le code est le suivant :

 var ret;
 var o = 1;
 var pattern = /^(-?\d*.?\d*)$/;
 var toStr = {}.toString;
 var array = {};
 array["[object Number]"] = "number";
 
 console.log("各种判断是否数值的速度比较!")
 
 console.log("方法一:pattern.test(o)");
 console.time("first");
 for (var i=0;i<10000;i++){
  ret = pattern.test(o);
 }
 console.timeEnd("first");
 console.log(ret);

 console.log("方法二:o instanceof Number");
 console.time("second");
 for (var i=0;i<10000;i++){
  ret = o instanceof Number;
 }
 console.timeEnd("second");
 console.log(ret);
 
 console.log("方法三:o.constructor == Number");
 console.time("thirth");
 for (var i=0;i<10000;i++){
  ret = o.constructor == Array;
 }
 console.timeEnd("thirth");
 console.log(ret);

 console.log("方法四:array[toStr.call(o)] == 'number'");
 console.time("forth");
 for (var i=0;i<10000;i++){
  ret = array[toStr.call(o)] == "number";
 }
 console.timeEnd("forth");
 console.log(ret);
Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal