1. 변수
ECMAScript 변수는 느슨한 변수입니다. 소위 느슨한 변수는 변수 이름이 모든 유형의 데이터를 보유 할 수 있음을 의미합니다. 각 변수는 값을 저장하기위한 자리 표시 자일뿐입니다.
정의 : var firstdemo;
2. 변수의 범위
2.1 기본 개념
변수를 정의하기 위해 VAR을 사용하십시오. 변수의 범위를 정의하는 로컬 변수를 정의하십시오. 변수를 정의하는이 방법은 또한 명백한 선언입니다.
이것을 이해하지 못하면 다음 간단하고 조잡한 예를 살펴볼 수 있습니다.
코드 사본은 다음과 같습니다.
시험();
기능 test () {
var firstDemo = "Hello"; // 로컬 변수 정의
경고 (FirstDemo); // 안녕하세요
}
시험();
기능 test () {
var firstDemo = "hello"; // 로컬 변수 정의 FirstDemo
}
Alert (FirstDemo); // 오류를보고, FirstDemo는 정의되지 않았습니다
위의 두 가지 예에서 함수에서 var를 사용하여 변수를 정의하면 함수가 종료 된 후 변수가 파괴됩니다.
변수를 정의하기 위해 var를 생략하십시오. 변수를 정의하는 함수가 한 번 호출되는 한 변수에 전 세계적으로 액세스 할 수 있습니다. 변수를 정의하는이 방법은 또한 암시 적 선언입니다.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
시험();
경고 (FirstDemo); //안녕하세요
기능 test () {
FirstDemo = "Hello";
}
</스크립트>
팁 : 명시 적으로 선언 된 변수는 사전 컴파일시 호출 객체에 이미 컴파일되어 있습니다 (예 : var t = 1; precomcipiled 경우 var t = 1; 해석 될 때 t = 1;) 해석시 전역 변수로 정의 된 암시 적으로 선언 된 변수와 달리.
변수의 범위를 파악하면 변수를 합리적으로 선언하는 방법에 대해 생각하는 데 도움이 될 수 있습니다. 이는 불필요한 메모리 오버 헤드를 줄일뿐만 아니라 변수의 반복적 인 정의와 이전에 정의 된 변수를 덮어 쓰는 문제를 크게 피할 수 있습니다.
2.2 범위 분석
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
함수 demofunction (s) {
document.writeln (s)
}
var i = 0; // 글로벌 변수를 정의합니다
기능 test () {
demofunction (i);
함수 innerfunction () {
var i = 1; // 로컬 변수를 정의합니다
demofunction (i);
}
내부 기능 ();
demofunction (i);
}
시험();
</스크립트>
출력 결과 : 0 1 0
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
함수 demofunction (s) {
document.writeln (s)
}
var i = 0;
기능 test () {
demofunction (i);
함수 innerfunction () {
demofunction (i);
var i = 1;
demofunction (i);
}
내부 기능 ();
demofunction (i);
}
시험();
</스크립트>
출력 결과 :
a, 0 0 1 0
b, 0 정의되지 않은 1 0
C, 0 오류 I는 정의되지 않았습니다
어떤 결과가 결과인지 추측 할 수 있으며 그 이유는 메시지에 자세히 설명 될 것입니다.
위는이 기사에 관한 것입니다. 간단히 말해서, 모든 프로그래밍 언어의 변수 범위는 매우 중요한 세부 사항입니다. JS의 변수의 범위는 Java 및 C와 같은 언어의 범위보다 상대적으로 자유 롭습니다. 큰 기능은 JS 변수가 블록 수준 범위가없고 함수의 변수가 전체 기능에서 유효하다는 것입니다.