JavaScript가 유형의 연산자를 제공한다는 것을 알고 있으므로 가장 쉬운 것은 Typeof를 사용하여 숫자 유형인지 확인하는 것입니다.
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
반환 유형 OBJ === '번호'
}
이 기능은 정수 및 부동 소수점 번호에 아무런 문제가 없지만 NAN 가치에 대해서도 사실을 반환하여 사람들이 불편 함을 느끼게합니다. 결국, 아무도 NAN을 사용하여 IsNumber를 사용하여 판단한 후 산술 작업을 수행하지 않습니다.
그런 다음 개선하고 object.prototype.tostring을 사용해보십시오.
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
return object.prototype.tostring.call (OBJ) === '[개체 번호]' '
}
판단 유형과 마찬가지로 NAN의 경우에도 사실이 반환되며 코드의 양은 여전히 크며 이는 원하는 결과가 아닙니다. TOSTRING.CALL 메소드는 배열 (배열)이 실현 가능하지만 숫자는 도달하지 못한다고 결정합니다.
추가 개선 후, NAN 가치는 처리 할 기능이 있습니다.
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
return typeof obj === 'number'&&! isnan (obj)
}
이번에는 들어오는 숫자가 비 번호 (NAN 또는 NAN으로 변환 할 수있는 값) 인 경우 False를 반환합니다.
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
return typeof obj === 'number'&&! isnan (obj)
}
isnumber (1) // true
isnumber (1.2) // true
isnumber (nan) // 거짓
isnumber (parseint ( 'a')) // false
글쎄, 이것은 단점이 좋지만, 또 다른 동등한 Isfinite를 사용하여 판단합니다.
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
return typeof obj === '번호'&& isfinite (obj)
}
지금까지, 가장 짧은 코드의 수치 판단은이 기사에서 ISNAN 함수를 사용하는 세 번째 판단입니다. 세계에서 가장 짧은 수치 판단 코드는 아래에서 시작됩니다
코드 사본은 다음과 같습니다.
함수 isnumber (obj) {
반환 OBJ === +obj
}
정수의 경우 플로팅 포인트 번호가 true를 반환하고 NAN 또는 NAN, False로 변환 할 수있는 값의 경우.
이해가 안 돼요? gu ~~ ()
정원사들은 이것이 세계에서 가장 짧은 수치 코드가 아니며 매개 변수 OBJ는 한 문자로 변경할 수 있다고 말했습니다. (areO you) 당신이 옳습니다.
한 예에서 배우면 가장 짧은 판단은 JS 동적 언어 기능 (운영자 작동시 내부 자동 유형 변환)을 가장 짧게 사용하는 것입니다.
코드 사본은 다음과 같습니다.
// 문자열 판사
기능 isstring (obj) {
OBJ === obj+''를 반환합니다.
}
// 부울 유형 판사
기능 isboolean (obj) {
reture obj === !! obj
}