>  기사  >  웹 프론트엔드  >  JavaScript에서 정의되지 않은, null, NaN 등의 차이점에 대한 사용 예를 자세히 설명합니다.

JavaScript에서 정의되지 않은, null, NaN 등의 차이점에 대한 사용 예를 자세히 설명합니다.

伊谢尔伦
伊谢尔伦원래의
2017-07-18 13:43:361299검색

js

1. 유형 분석:
js에는 정의되지 않음, 부울, 숫자, 문자열, 객체 등 5가지 데이터 유형이 있습니다. 처음 4개는 기본 유형이고, 다섯 번째는 참조 유형입니다.

var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a);    //显示"undefined"
alert(typeof a1); //显示"undefined"
alert(typeof a2); //显示"boolean"
alert(typeof a3); //显示"number"
alert(typeof a4); //显示"string"
alert(typeof a5); //显示"object"
alert(typeof a6); //显示"object"
alert(typeof a7); //显示"number"
alert(typeof a8); //显示"undefined"

위 코드에서 볼 수 있듯이 정의되지 않은 값과 할당되지 않은 값은 정의되지 않은 값이고, null은 특수 객체, NaN은 특수 숫자입니다.

2. 비교 연산

var a1;         //a1的值为undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //显示"true"
alert(a1 != a2); //显示"false"
alert(a1 == a3); //显示"false"
alert(a1 != a3); //显示"true"
alert(a2 == a3); //显示"false"
alert(a2 != a3); //显示"true"
alert(a3 == a3); //显示"false"
alert(a3 != a3); //显示"true"

위 코드에서 다음과 같은 결론을 내릴 수 있습니다. (1) 정의되지 않음과 null은 동일합니다. (2) NaN은 어떤 값과도 같지 않으며 그 자체와도 같지 않습니다.

JavaScript 정의되지 않은 속성

정의 및 사용법
정의되지 않은 속성은 JavaScript 정의되지 않은 값을 저장하는 데 사용됩니다.

Syntax
undefine

Explanation
정의되지 않은 속성을 열거하기 위해 for/in 루프를 사용할 수 없으며 삭제 연산자를 사용하여 삭제할 수도 없습니다.
undefine은 상수가 아니며 다른 값으로 설정할 수 있습니다.
존재하지 않는 개체 속성을 읽으려고 시도하는 경우에도 정의되지 않은 값이 반환됩니다.

팁 및 참고 사항
팁: 값이 정의되지 않았는지 여부를 테스트하려면 === 연산자만 사용할 수 있습니다. == 연산자는 정의되지 않은 값을 null과 동일하게 간주하기 때문입니다.
참고: null은 값이 없음을 의미하고, 정의되지 않음은 선언되지 않은 변수, 선언되었지만 값이 할당되지 않은 변수 또는 존재하지 않는 개체 속성을 의미합니다.


이 예에서는 두 변수 중 하나가 정의되지 않았음을 감지합니다.

<script type="text/javascript">
var t1=""
var t2
if (t1===undefined) {document.write("t1 is undefined")}
if (t2===undefined) {document.write("t2 is undefined")}
</script>

출력:
t2가 정의되지 않았습니다

판결이 정의되지 않았습니다:

<span style="font-size: small;">var tmp = undefined; 
if (typeof(tmp) == "undefined"){ 
alert("undefined"); 
}</span>

판결 null:

<span style="font-size: small;">var tmp = null; 
if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ 
alert("null"); 
} </span>

판단 NaN:

<span style="font-size: small;">var tmp = 0/0; 
if(isNaN(tmp)){ 
alert("NaN"); 
}</span>

참고: NaN을 임의의 값(자신 포함)과 비교하면 결과는 false이므로 값이 NaN인지 확인하기 위해 == 또는 === 연산자를 사용할 수 없습니다.

팁: isNaN() 함수는 일반적으로 ParseFloat() 및 ParseInt()의 결과를 감지하여 이들이 합법적인 숫자를 나타내는지 여부를 결정하는 데 사용됩니다. 물론 isNaN() 함수를 사용하여 0을 제수로 사용하는 것과 같은 산술 오류를 감지할 수도 있습니다.

위 내용은 JavaScript에서 정의되지 않은, null, NaN 등의 차이점에 대한 사용 예를 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.