English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 기본 강의

JavaScript 객체

JavaScript 함수

JS HTML DOM

JS 브라우저 BOM

AJAX 기본 강의

JavaScript 참조 가이드

JavaScript 변수 범위

변수의 범위는 변수가 정의된 프로그램의 区域입니다.

JavaScript 변수는 두 가지 범위만 가집니다:

  • 지역 범위

  • 전역 범위

범위는 변수의 접근성(보이써)을 결정합니다.

JavaScript 지역 변수

함수에서 선언된 변수는LOCAL(지역) 범위, 이는 함수 외부에서 호출하거나 처리할 수 없음을 의미합니다.

// 여기의 코드는 cityName를 사용할 수 없습니다.
function myFunc() {
  var cityName = "New Delhi";
  
  // 여기의 코드는 cityName를 사용할 수 있습니다.  
}
// 여기의 코드는 cityName를 사용할 수 없습니다.
테스트를 보자‹/›

지역 변수는 함수 범위를 가지고 있으며, 함수 내부에서만 접근할 수 있습니다.

지역 변수는 함수 내부에서만 인식될 수 있으므로, 다른 함수에서 같은 이름의 변수를 사용할 수 있습니다.

함수가 시작할 때 지역 변수를 생성하고, 함수가 완료될 때 지역 변수를 제거합니다.

JavaScript 전역 변수

함수 외부의 프로그램에서 선언된 변수는GLOBAL범위, 이는 모든 스크립트가 이를 사용할 수 있음을 의미하며, 스크립트가 함수 내부인지 외부인지와 관계없습니다.

// 전역 변수를 초기화
var cityName = "New Delhi";
// 여기의 코드는 cityName를 사용할 수 있습니다.
function myFunc() {  
  // 여기의 코드도 cityName를 사용할 수 있습니다.
}
// 여기의 코드는 cityName를 사용할 수 있습니다.
테스트를 보자‹/›

JavaScript 프로그램의 어느 위치에서도 전역 변수에 접근할 수 있습니다.

아래의 예제에서는 전역 변수를 생성하겠습니다. cityName변수. 함수 내부는 같은 이름을 가진 지역 변수입니다.

// 전역 변수를 초기화
var cityName = "New Delhi";
function myFunc() {
  //지역, 함수 범위 내의 변수를 초기화
  var cityName = "Jaipur";
  document.writeln(cityName);
}
//전역 변수와 지역 변수를 출력
document.writeln(cityName);
myFunc();
document.writeln(cityName);
테스트를 보자‹/›

변수의 값은 범위에 따라 다를 수 있고 원래 값은 변경되지 않습니다. 이를 통해 변수의 값을 출력하여 보여줄 수 있습니다.

자동 전역 변수

아직 선언되지 않은 변수에 값을 할당하면 그 자체로GLOBAL(전역)변수.

이 예제는 전역 변수를 선언합니다cityName함수 내부에 값이 할당되어도 그렇습니다.

myFunc();
// 여기의 코드는 cityName를 사용할 수 있습니다. 
function myFunc() {
  cityName = "New Delhi";
}
테스트를 보자‹/›

필요하지 않으면 전역 변수를 쉽게 생성하지 마세요.

전역 변수는 창 변수를 덮칠 수 있습니다.

모든 함수, window 객체 포함, GLOBAL 변수를 덮을 수 있습니다.

var, let 및 const의 차이

JavaScript는 변수를 선언하는 데 사용되는 세 가지 다른 키워드를 가지고 있으며, 이는 언어에 복잡성을 더합니다.

두 키워드 사이의 차이는 범위, 提升, 재할당에 기반합니다.

키워드범위的提升재할당할 수 있습니다재선언할 수 있습니다
var함수 범위
let블록 범위아니요아니요
const블록 범위아니요아니요아니요

JavaScript 블록 범위

사용하여var키워드 선언된 변수는 블록 범위를 가질 수 없습니다.

블록 외부에서 접근할 수 있는 변수는 블록 내에서 선언된 변수입니다:

  { 
  var num = 50; 
  }
  // num은 여기서 사용할 수 있습니다

사용하여let키워드 선언된 변수는 '블록 범위'를 가질 수 있습니다.

블록 내에서 선언된 변수는 블록 외부에서 접근할 수 없습니다:

  { 
  let num = 50; 
  }
  // num은 여기서 사용할 수 없습니다

변수를 선언하려면 constlet블록 범위와 유사합니다.

  { 
  const num = 50; 
  }
  // num은 여기서 사용할 수 없습니다

상수의 값을 재할당할 수 없으며, 재선언도 할 수 없습니다。

JavaScript 변수의 생명주기

JavaScript 변수의 생명주기는 선언에서 시작됩니다。

함수가 완료되면, 삭제됩니다지역변수.

브라우저 창을 닫을 때전역변수는 삭제될 것이지만, 동일한 창에 로드된 새 페이지에서는 여전히 사용할 수 있습니다。