>웹 프론트엔드 >JS 튜토리얼 >javascript 보충 기사_javascript 기술에서 정의되지 않음과 null의 차이점

javascript 보충 기사_javascript 기술에서 정의되지 않음과 null의 차이점

WBOY
WBOY원래의
2016-05-16 18:32:171128검색

Script House는 이전에는 유사한 기사를 게시할 수 없었습니다.
JavaScript null과 정의되지 않은 차이점 분석

JavaScript Undefine, Null 유형과 NaN 값의 차이점

먼저 undefine에 대해 이야기해 봅시다.
Javascript의 변수는 약한 유형이므로(이에 대해서는 더 설명할 필요가 없을 것 같습니다.) 변수를 선언할 때 var 키워드만 사용하면 됩니다. . C와 같이 강력한 유형의 언어인 경우 변수 선언 시 초기값을 지정하지 않으면 기본값이 부여됩니다. 예를 들어 int 변수의 기본값은 0입니다. 그러나 Javascript와 같은 약한 유형의 언어에서는 이러한 변수에 어떤 기본값을 지정해야 하는지 결정할 방법이 없습니다. 예를 들어 변수
var v1; 0, 아니면 ''?
타입이 없어 판별할 수 없습니다. Javascript에서는 수명 이후에 초기 값이 제공되지 않는 변수의 경우 정의되지 않은 상태로 지정합니다. 하지만 이 변수는 반드시 선언되어 있어야 한다는 전제가 있습니다. 선언되지 않은 식별자라면 오류가 발생합니다. 아래 코드를 살펴보세요. / /undefine
alert(v2); //오류 보고서

Javscript에는 Number, String, Boolean 및 Object라는 몇 가지 기본 유형이 있습니다. Object형 변수의 경우에는 두 가지 상황이 있는데, 하나는 객체의 인스턴스인 경우이고, 다른 하나는 null 참조인 경우입니다. Java 등 객체지향 언어에 익숙한 친구들은 쉽게 이해하다. 두 경우 모두 해당 유형은 Object입니다. Javascript의 변수의 경우 는 다음과 같이 값을 할당할 때만 해당 유형을 결정합니다.
코드 복사


코드는 다음과 같습니다.

var v1 = 1; v2 = true ;

alert(typeof v1); //숫자
alert(typeof v2); //부울
v2 = new Date(); v2); //객체 v2 = "str"; alert(typeof v2); //string v2 = null; /object

null은 Javascript에서 특별한 Object 유형 값을 나타내는 것을 볼 수 있습니다. 이는 null 참조의 개념을 표현하는 데 사용됩니다. 당분간은 제공하지 말고 나중에 사용하기 위해 null로 초기화할 수 있습니다.
간단히 말해서 모든 변수에 대해 선언 후 초기 값이 지정되지 않는 한 null 참조 개념을 표현하기 위해 Object 유형이 사용되는 경우에는 정의되지 않습니다. null로 표시됩니다. if(!object){}를 사용하여 두 가지 모두 포함
추가: 2006.12.6




코드 복사


코드


var obj = "aaa";
var nullobj;
if (obj == null || obj == 정의되지 않음 || (!obj) ) 🎜>alert("obj는 null입니다.");
}
if (nullobj == null){ alert("obj는 null입니다.")
}
if (nullobj == 정의되지 않음){
alert("obj가 정의되지 않음");
}
if ( !nullobj ){
alert("! obj ")
} 정의되지 않음 및 "정의되지 않음"에 대한 추가 정보(2007/1/30): JScript에서 정의되지 않음을 나타내는 데 사용되는 정의되지 않은 식별자는 무엇을 의미합니까? "정의되지 않음"(" 포함)과 동일합니다. 차이점과 연결? 변수와 비교하기 위해 때때로 undefound를 사용할 수 있지만 때로는 그렇지 않은 이유는 무엇입니까? Underfined와 "Undefine"의 차이를 한눈에 알 수 있습니다. 일반적인 이해에 따르면 undefed는 JScript에서 제공하는 "키워드"라고 생각하지만 "undefine"은 따옴표 안의 내용이 undefine과 동일하게 보이는 점을 제외하면 의심할 여지 없이 문자열입니다. 정의되지 않음과 "정의되지 않음"의 차이는 매우 분명하지만 연결도 매우 가깝습니다. JScript 매뉴얼을 주의 깊게 읽어보세요. 실제로 이 underfined는 "정의된" 전역 값이며, 문자 그대로 표현되는 정의되지는 않습니다. 다음 코드 예제를 살펴보겠습니다. 매우 흥미롭습니다.



코드 복사


코드는 다음과 같습니다.


< 스크립트 언어="Javascript">
경고(정의되지 않음)

실행 결과는 다음과 같습니다.
위 코드를 약간 수정하여 호출 유형을 추가해 보겠습니다.
코드 복사 코드는 다음과 같습니다.

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