>웹 프론트엔드 >JS 튜토리얼 >정의되지 않은 유형, 정의되지 않은, null,_javascript 기술을 판단하는 js의 차이점에 대한 자세한 분석

정의되지 않은 유형, 정의되지 않은, null,_javascript 기술을 판단하는 js의 차이점에 대한 자세한 분석

WBOY
WBOY원래의
2016-05-16 17:09:051307검색

js가 정의되지 않은 유형을 결정

오늘은 showModalDialog를 사용하여 페이지를 열고 값을 반환합니다. 열린 페이지에서 닫기 버튼을 클릭하거나 브라우저에서 직접 닫기 버튼을 클릭하면 반환값이 정의되지 않으므로
스스로 판단하시기 바랍니다

var reValue=window.showModalDialog("","","");
if (reValue== 정의되지 않음){
경고("정의되지 않음");
}

알 수 없다는 것을 알고 결국 정보를 확인했고 typeof를 사용해야 했습니다

메서드:
if (typeof(reValue) == "undefine") {
Alert("undefine");
}
typeof가 문자열을 반환합니다. 6가지 가능성이 있습니다: "숫자", "문자열", "부울", "객체", "함수", "정의되지 않음"


js에서 정의되지 않음, null, NaN의 차이점

1. 유형 분석:
js의 데이터 유형에는 undefine, boolean, number, string, object 등이 있습니다. 처음 4가지 유형은 기본 유형이고 다섯 번째 유형은 참조 유형입니다. .
var a1;
var a2 = true;
var a3 = 1;
var a4 = "안녕하세요";
var a5 = new Object();
var a6 = null ;
var a7 = NaN;
var a8 = 정의되지 않음;
alert(typeof a); //"정의되지 않음" 표시
alert(typeof a1); //"정의되지 않음" 표시
Alert(typeof a2); //"부울" 표시
alert(typeof a3); //"숫자" 표시
alert(typeof a4); //"문자열" 표시
alert(typeof a5) ; //"객체" 표시
alert(typeof a6); //"객체" 표시
alert(typeof a7); //"숫자" 표시
alert(typeof a8); 정의되지 않음"

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

2. 비교 연산
var a1;            //a1의 값이 정의되지 않았습니다.
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의 정의되지 않은 값을 저장하는 데 사용됩니다.

구문
정의되지 않음

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

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


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

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

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