js는 정의되지 않은 유형을 결정합니다.
오늘은 showModalDialog를 사용하여 페이지를 열고 값을 반환합니다. 열린 페이지에서 닫기 버튼을 클릭하거나 브라우저에서 직접 닫기 버튼을 클릭하면 반환 값이 정의되지 않습니다.
그러니 스스로 판단하세요.
var reValue=window.showModalDialog("","","");
if (reValue== 정의되지 않음){
경고("정의되지 않음");
}
알 수 없다는 것을 알았기 때문에 마침내 정보를 확인하고 typeof를 사용해야 했습니다.
방법:
if (typeof(reValue) == "정의되지 않음") {
경고("정의되지 않음");
}
typeof는 문자열을 반환합니다. "숫자", "문자열", "부울", "객체", "함수", "정의되지 않음" 등 6가지 가능성이 있습니다.
js에서 정의되지 않음, null 및 NaN의 차이점
1. 유형 분석:
js에는 undefound, boolean, number, string, object 등 5가지 데이터 유형이 있습니다. 처음 4가지 유형은 기본 유형이고 다섯 번째 유형은 참조 유형입니다.
변수 a1;
var a2 = 참;
var a3 = 1;
var a4 = "안녕하세요";
var a5 = 새로운 객체();
var a6 = 널;
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 = 널;
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은 값이 없음을 의미하고, 정의되지 않음은 선언되지 않은 변수, 선언되었지만 값이 할당되지 않은 변수 또는 존재하지 않는 개체 속성을 의미합니다.
예
이 예에서는 두 변수 중 하나가 정의되지 않았음을 감지합니다.
<스크립트 유형="텍스트/자바스크립트">
var t1=""
vart2
if (t1===정의되지 않음) {document.write("t1은 정의되지 않았습니다")}
if (t2===정의되지 않음) {document.write("t2는 정의되지 않았습니다")}
</script>
산출:
t2는 정의되지 않았습니다.