JS 의이 코드는 나에게 "널은 숫자라고 생각한다"라는 팝업을 표시하는데 약간 혼란스러워합니다. 내가 무엇을 놓치고 있습니까?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Firefox 3을 사용하고 있습니다. 브라우저 버그입니까?
다른 테스트 :
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
그렇다면 문제는 NaN과 정확히 비교되지 않는 것 같습니다.
편집 : 이제 질문에 대한 답을 얻었습니다. 아카이브에 더 나은 버전을 갖도록 게시물을 정리했습니다. 그러나 이로 인해 일부 의견과 일부 답변도 이해할 수 없습니다. 그들의 저자를 비난하지 마십시오. 내가 바꾼 것들 중 하나는 다음과 같습니다.
- 헤드 라인의 의미를 되돌려 서 헤드 라인을 망친다는 메모를 제거했습니다.
- 이전 답변에서는 왜 동작이 이상하다고 생각하는지 명확하게 밝히지 않았으므로 문자열을 확인하고 수동 비교를 수행하는 예제를 추가했습니다.