>  기사  >  웹 프론트엔드  >  Javascript 전역 변수 var와 non-var_Basic 지식의 차이점에 대한 심층 분석

Javascript 전역 변수 var와 non-var_Basic 지식의 차이점에 대한 심층 분석

WBOY
WBOY원래의
2016-05-16 17:10:191163검색

함수 범위에서 a=1 형식으로 정의된 변수는 전역 변수에 대해 잘 알고 계시리라 생각합니다. 전역 범위에서는 다음 세 가지 형식을 사용하여 변수를 만들 수 있습니다. 이름 지정:

코드 복사 코드는 다음과 같습니다.

<script> <br>var a = 1;<br>b = 2;<br>window.c = 3;<br></script>

b=2의 경우 실제로는 c와 동일 예, 이 할당문을 실행할 때 범위 체인을 따라 b라는 변수를 찾습니다. 범위 체인의 맨 위에 도달할 때까지 이를 찾지 못하므로 창에 속성 b를 추가하고 할당합니다. 그것.

var와 non-var 사이에는 두 가지 차이점이 있습니다.

1 var의 전역 변수는 삭제할 수 없습니다. delete는 객체의 삭제 가능한 속성을 지능적으로 삭제하고 var로 정의된 전역 속성은 삭제할 수 없는 것으로 표시되기 때문입니다. 삭제에 실패하면 오류가 발생하지 않습니다. 삭제의 반환 값은 true|false입니다.

2 var로 정의된 전역 변수는 승격되지만, var 없이 정의된 전역 변수는 승격되지 않습니다. 다음 프로그램의 실행 결과를 확인할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

<script> <br>alert(a);<br>var a=1;<br></script>

코드 복사 코드는 다음과 같습니다.