을 감안할 때 :parseInt가 Javascript에서 배열을 제대로 테스트하지 못하는 이유는 무엇입니까?
var obj={0:21,1:22}
및
var arr=[21,22]
을하는 이유는 무엇입니까 parseInt(obj)
반환 NaN
하지만 parseInt(arr)
반환 21
?
나는 int
, 해시 유형 object
또는 일반 array
을 전달할 함수가 있습니다. 나는 parseInt
이 object
과 array
모두에 대해 NaN
을 반환 할 것으로 예상했기 때문에 인수 검사가 간단 해졌습니다. 뭐라 구요?
왜'parseInt() '를 사용하고 있습니까? 필자가 사용하는 두 가지 사항은 (a) 비 기본 10 입력이고, (b) '10'부분 만 원할 때 CSS ' "10px"와 같은 알려진 형식으로 입력 문자열을 구문 분석하는 것입니다. 저는 Number ([21,22])가 NaN을 반환한다고 생각합니다. 단항 더하기 연산자 인 + [21,23]도 마찬가지입니다. – nnnnnn
@nnnnnn - 왜 안 되니? 'if isNaN (parseInt (argument1)) ... '입니다. 빠르고 쉽습니다. 해가 뭐야? 나는 뒤집어 쓰고 있지 않다. 나는 진정으로 호기심이 많다. – user1167442
'argument1'이 문자열''123abc ''인 경우 유효한 숫자는 아니지만'parseInt ("123abc")'는'123'을 반환합니다. 그것이 실제로 * 원하는 * 결과라면,'parseInt()'를 사용하십시오. 그러나 제 경험상 이해가되는 것은 꽤 드뭅니다 (이미 이해할 수있는 예제를 제시했습니다). 함수 인자가 * 이미 * 숫자가 아닌 (객체 나 배열이 아닌) 것을 테스트하고 싶다면'typeof' 연산자를 사용할 수 있습니다. – nnnnnn