This article mainly introduces four methods for determining whether JavaScript is a number or not and compares the efficiency. This article provides a direct method to determine whether the code and running efficiency can be used for your convenience, for more information about how to determine the efficiency of chrome, see the following figure:
Note: Regular expressions can only be used to determine whether the content in a string is a pure value, but cannot be used to determine whether it is a numeric object. It is used for comparison only.
The code is as follows:
Var ret; var o = 1; var pattern =/^ (-? \ D *.? \ D *) $/; var toStr = {}. toString; var array ={}; array ["[object Number]"] = "number"; console. log ("Speed Comparison of various values! ") Console. log ("Method 1: 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 ("Method 2: 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 ("method 3: 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 ("method 4: 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 );