> 웹 프론트엔드 > JS 튜토리얼 > JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점

JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점

WBOY
풀어 주다: 2016-05-16 19:17:44
원래의
1401명이 탐색했습니다.

JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢?

    underfined"undefined"的区别大家一眼就能看出来。在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefined"却毫无悬念的就是一个字符串,只是引号内的内容长得和undefined一个样。undefined"undefined"的区别虽然是十分明显的,但它们的联系也是紧密的。

    仔细阅读JScript手册,其实这个underfined是一个"已定义"的Global值,而不是它的字面意义所表达的未定义。我们看下面这个代码示例,很有趣:

JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점<script language="javascript">
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점alert(undefined);
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점alert(variable);
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점
script>

실행 결과는 다음과 같습니다.
undefined.png

위 코드를 약간 수정하고 호출 유형을 추가해 보겠습니다.

JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점<스크립트 언어="javascript">
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점alert(유형 정의되지 않음);
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점alert(typeof 변수);
JScript_javascript 팁에서 정의되지 않음과 '정의되지 않음'의 차이점
script>

이제 결과는 어떻게 될까요? "객체""정의되지 않음"을 표시하시겠습니까? 물론 그렇지 않습니다. 두 경고 호출 모두 "정의되지 않음"으로 표시됩니다.

그래서 undefine은 스크립트 엔진이 정의한 상수로, 스크립트 엔진이 초기화된 이후에 존재하는 상수입니다. 실제 기능은 을 사용하여 var i;와 같은 정의된 변수의 초기화되지 않은 상태(초기화되지 않은) 를 나타내는 것입니다. 그러면 i의 값은 정의되지 않음이고 i는 실제로 정의되었지만 초기화되지 않았습니다. 이때 if (i == undefine) 과 같이 i 를 판단하는 표현을 작성할 수 있습니다. 코드에 한번도 등장하지 않은 변수를 사용한 경우, 이때 undef의 개념은 undefine에서 설명한 것처럼 초기화되지 않은 것이 아니라 해당 변수가 스크립트의 컨텍스트에 등록되지 않았다는 의미입니다. 전혀 중간. if ( abc == undefine )과 같은 문을 사용하면 위 그림의 두 번째 오류 메시지와 유사한 오류 메시지가 표시됩니다.

실제 사용에서 변수가 정의되지 않았는지 확인하기 위해 typeof를 사용하면 undefine(undefine)uninitialized(uninitialized) 모두와 완전히 호환됩니다. 상황은 if (typeof xxx == 'undefine') 을 사용하는 것을 좋아하지 않는다는 것입니다. 왜냐하면 리터럴 문자열은 철자가 틀리기 쉽고 강력하게 사용하는 관점에서 보면 어렵기 때문입니다. 내가 익숙하게 입력한 언어도 비전문적으로 보입니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿