자바스크립트에 블록 수준 범위가 있나요?

WBOY
풀어 주다: 2022-03-10 11:41:49
원래의
1842명이 탐색했습니다.

JavaScript에는 블록 수준 범위 개념이 없습니다. 블록 수준 명령문에 정의된 변수는 실제로 명령문이 아닌 포함 함수에서 생성됩니다. 변수 선언을 변수가 사용되는 위치 근처에 배치하는 대신 함수 본문 상단에 배치할 수 있습니다.

자바스크립트에 블록 수준 범위가 있나요?

이 튜토리얼의 운영 환경: Windows 10 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript에는 블록 수준 범위가 있나요?

Javascript에는 블록 수준 범위 개념이 없습니다. 이는 블록 수준 명령문에 정의된 변수가 실제로 명령문이 아닌 포함 함수에서 생성된다는 의미입니다.

코드 세그먼트 1:

var scope="global"; function f(){ console.log(scope); var scope="local" console.log(scope); } f();
로그인 후 복사

 무엇이 출력되나요?

 정의되지 않은 로컬

 코드 세그먼트 2:

var scope="global"; function f(){ var scope; console.log(scope); scope="local" console.log(scope); } f();
로그인 후 복사

 무엇이 출력되나요?

 정의되지 않은 로컬

 코드 세그먼트 3:

var scope="global"; function f(){ console.log(scope); } f();
로그인 후 복사

 무엇이 출력되나요?

 답변: global

 위의 세 가지 예를 통해 다음은 "JavaScript에는 블록 수준 범위가 없지만 함수 범위가 있습니다"라는 문장을 설명합니다.

 JavaScript에서는 함수 범위의 특성상 코드 세그먼트 1과 코드 세그먼트 2가 동일합니다. 지역 변수는 함수 본문 전체에 정의됩니다.

즉, 코드 세그먼트 1은 함수 본문에 있습니다. 변수 범위는 동일한 이름의 전역 변수를 포함하며 프로그램이 var 문을 실행할 때만 지역 변수 범위가 실제로 할당됩니다. 따라서 위의 프로세스는 변수 초기화를 원래 위치, 즉 코드 세그먼트 2에 남겨두고 함수 내 변수 선언을 함수 본문의 맨 위로 "전진"시키는 것과 같습니다.

 블록 수준 범위의 프로그래밍 언어에서는 일반적으로 작은 범위에서 변수 선언과 변수를 사용하는 코드를 최대한 서로 가깝게 유지하는 것이 매우 좋은 프로그래밍 습관입니다. JavaScript에는 블록 수준 범위 지정이 없기 때문에 일부 프로그래머는 변수가 사용되는 위치 근처에 선언을 배치하는 대신 의도적으로 함수 본문 상단에 변수 선언을 배치합니다. 이 접근 방식

은 소스 코드가 다양한 지식 범위를 매우 명확하게 반영하도록 만듭니다.

관련 권장 사항:

javascript 학습 튜토리얼

위 내용은 자바스크립트에 블록 수준 범위가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!