>  기사  >  웹 프론트엔드  >  JavaScript 범위에 대한 자세한 설명

JavaScript 범위에 대한 자세한 설명

coldplay.xixi
coldplay.xixi앞으로
2020-07-15 17:12:132258검색

JavaScript 범위에 대한 자세한 설명

범위는 액세스 가능한 변수의 모음입니다.

JavaScript 범위

JavaScript에서는 객체와 함수도 변수입니다.

JavaScript에서 범위는 액세스 가능한 변수, 개체 및 함수의 모음입니다.

JavaScript 함수 범위: 함수 내에서 범위가 수정됩니다.

JavaScript 로컬 범위

변수는 함수 내에서 선언되며 변수는 로컬 범위입니다.

로컬 변수: 함수 내부에서만 접근할 수 있습니다.

// 此处不能调用 carName 变量
function myFunction() {
  var carName = "Volvo";
  // 函数内可调用 carName 变量
}

지역 변수는 함수 내에서만 작동하기 때문에 서로 다른 함수가 같은 이름의 변수를 사용할 수 있습니다.

로컬 변수는 함수가 실행되기 시작할 때 생성되며, 함수가 실행된 후 자동으로 소멸됩니다.

JavaScript 전역 변수

함수 외부에서 정의된 변수는 전역 변수입니다.

전역 변수에는 전역 범위가 있습니다. 웹 페이지의 모든 스크립트와 함수를 사용할 수 있습니다.

var carName = " Volvo";
 
// 此处可调用 carName 变量
function myFunction() {
  // 函数内可调用 carName 变量
}

변수가 함수 내에서 선언되지 않은 경우(var 키워드를 사용하지 않고) 해당 변수는 전역 변수입니다.

다음 예에서 carName은 함수 내에 있지만 전역 변수입니다.

// 此处可调用 carName 变量
 
function myFunction() {
  carName = "Volvo";
  // 此处可调用 carName 变量
}

JavaScript 변수 수명주기

JavaScript 변수 수명주기는 선언되면 초기화됩니다.

로컬 변수는 함수가 실행된 후 소멸됩니다.

전역 변수는 페이지가 닫힌 후 삭제됩니다.

함수 매개변수

함수 매개변수는 함수 내에서만 작동하며 지역 변수입니다.

HTML의 전역 변수

HTML에서 전역 변수는 창 개체입니다. 모든 데이터 변수는 창 개체에 속합니다.

//此处可使用 window.carName
 
function myFunction() {
  carName = "Volvo";
}

알고 계셨나요?

전역 변수나 함수는 창 개체의 변수나 함수를 재정의할 수 있습니다.
창 개체를 포함한 지역 변수는 전역 변수와 함수를 재정의할 수 있습니다.

보충

ES6

let의 let 키워드를 사용하면 범위가 블록 수준으로 제한된 변수, 명령문 또는 표현식을 선언할 수 있습니다. var 키워드와 달리 선언되는 변수는 전역 변수이거나 전체 기능 블록일 수 있습니다.

let 구문:

let var1 [= value1] [, var2 [= value2]] [, ..., varN [= valueN]];

let 선언된 변수는 블록이나 서브루틴에만 있습니다. 블록에서 사용 가능하다고 선언되어 있으며 이는 var와 유사합니다. 둘 사이의 주요 차이점은 var로 선언된 변수의 범위가 전체 둘러싸는 함수라는 것입니다.

letvar 차이점 코드 예:

function varTest() {
 var x = 1;
 if (true) {
  var x = 2; // 同样的变量!
  console.log(x); // 2
 }
 console.log(x); // 2
}

function letTest() {
 let x = 1;
 if (true) {
  let x = 2; // 不同的变量
  console.log(x); // 2
 }
 console.log(x); // 1
}

관련 학습 권장 사항: javascript 비디오 튜토리얼

위 내용은 JavaScript 범위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제