Sabemos que o JavaScript fornece o tipo de operador, então a coisa mais fácil de pensar é usar o tipoof para determinar se é do tipo de número.
A cópia do código é a seguinte:
função isNumber (obj) {
Retornar tipo de obj === 'Número'
}
Essa função não tem nenhum problema com números inteiros e números de ponto flutuante, mas também retorna verdadeiro para o valor da NAN, o que faz as pessoas se sentirem desconfortáveis. Afinal, ninguém usará a NAN para fazer operações aritméticas após o uso do ISNumber para julgar.
Em seguida, melhore -o e tente usar object.prototype.ToString.
A cópia do código é a seguinte:
função isNumber (obj) {
return object.prototype.toString.Call (obj) === '[Número do objeto]'
}
Como o tipo de julgamento, ele também retorna verdadeiro para a NAN, e a quantidade de código ainda é grande, o que não é o resultado desejado. O método ToString.Call determina que a matriz (matriz) é viável, mas os números estão fora de alcance.
Após melhorias adicionais, o valor da NAN é a função de lidar.
A cópia do código é a seguinte:
função isNumber (obj) {
Retornar tipo de obj === 'número' &&! isnan (obj)
}
Desta vez, se o número de entrada for um número não de número (NAN ou um valor que pode ser convertido em NAN), ele retornará falsa.
A cópia do código é a seguinte:
função isNumber (obj) {
Retornar tipo de obj === 'número' &&! isnan (obj)
}
isNumber (1) // true
isNumber (1.2) // true
isNumber (nan) // false
isNumber (parseint ('a')) // false
Bem, este é o número é bom, mas há outro equivalente, use isfinite para julgar
A cópia do código é a seguinte:
função isNumber (obj) {
Retornar tipo de obj === 'número' && isfinite (obj)
}
Até agora, o julgamento numérico do código mais curto é o terceiro mencionado neste artigo que usa a função ISNAN. O código de julgamento numérico mais curto do mundo é lançado abaixo
A cópia do código é a seguinte:
função isNumber (obj) {
retornar obj === +obj
}
Para números inteiros, o número do ponto flutuante retorna verdadeiro e para NAN ou valores que podem ser convertidos em NAN, falsos.
Não entendo, certo? Gu ~~ ()
Os jardineiros disseram que este não é o código numérico mais curto do mundo, e o parâmetro OBJ pode ser alterado para um personagem. (⊙o⊙) você está certo.
Aprenda com um exemplo e o julgamento mais curto também é dado ao uso mais curto dos recursos de linguagem dinâmica do JS (conversão do tipo automático interno quando a operação do operador).
A cópia do código é a seguinte:
// Juiz String
função ISSTRING (OBJ) {
retornar obj === obj+''
}
// Juiz do tipo booleano
função isBoolean (obj) {
retornar obj === !! obj
}