Sabemos que JavaScript proporciona un tipo de operador de typing, por lo que lo más fácil de pensar es usar typeOf para determinar si es de tipo de número.
La copia del código es la siguiente:
función isnumber (obj) {
return typeOf obj === 'Número'
}
Esta función no tiene ningún problema con los enteros y los números de punto flotante, pero también devuelve cierto para el valor de NAN, lo que hace que las personas se sientan incómodas. Después de todo, nadie usará NAN para hacer operaciones aritméticas después de usar ISNumber para juzgar.
Luego mejore e intente usar Object.Prototype.ToString.
La copia del código es la siguiente:
función isnumber (obj) {
return object.prototype.tostring.call (obj) === '[número de objeto]'
}
Al igual que el juicio de typeOf, también devuelve verdadero para NAN, y la cantidad de código sigue siendo grande, que no es el resultado deseado. El método toString.Call determina que la matriz (matriz) es factible, pero los números están fuera del alcance.
Después de una mejora adicional, el valor NAN es la función de tratar.
La copia del código es la siguiente:
función isnumber (obj) {
return typeOf obj === 'Number' &&! Isnan (obj)
}
Esta vez, si el número entrante no es un número (nan o un valor que se puede convertir en NAN), devolverá falso.
La copia del código es la siguiente:
función isnumber (obj) {
return typeOf obj === 'Number' &&! Isnan (obj)
}
isnumber (1) // verdadero
isnumber (1.2) // verdadero
isnumber (nan) // falso
isNumber (parseInt ('a')) // falso
Bueno, este número es bueno, pero hay otro equivalente, use isfinite para juzgar
La copia del código es la siguiente:
función isnumber (obj) {
return typeOf obj === 'Number' && isFinite (obj)
}
Hasta ahora, el juicio numérico del código más corto es el tercero mencionado en este artículo que usa la función ISNAN. El código de juicio numérico más corto del mundo se lanza a continuación
La copia del código es la siguiente:
función isnumber (obj) {
regresar obj === +obj
}
Para enteros, el número de punto flotante devuelve verdadero, y para NAN o valores que se pueden convertir a NAN, falso.
No entiendo, ¿verdad? GU ~~ ()
Los jardineros dijeron que este no es el código numérico más corto del mundo, y que el parámetro OBJ se puede cambiar a un personaje. (⊙o⊙) Tienes razón.
Aprenda de un ejemplo y el juicio más corto también se otorga al uso más corto de las características del lenguaje dinámico JS (conversión interna de tipo automático cuando la operación del operador).
La copia del código es la siguiente:
// Juez Cadena
función isstring (obj) {
regresar obj === obj+''
}
// juzga el tipo booleano
función isboolean (obj) {
regresar obj === !! obj
}