할로
15
2020-10-18 13:07:52
3
106

자바스크립트 전역변수, 지역변수



var variable = 10;

function test2() {
 
        alert(variable);
}

이렇게 치면 알림창에 

10

이라고 뜨는데요


var variable = 10;
function test2() {
    
        alert(variable);
        variable = 3;
        alert(variable);
        var variable = 5;
        alert(variable);
}

이렇게 해서 함수를 실행하면

10

3

5


라고 떠야 할거 같은데


undefined

3

5

 이렇게 뜨네요


왜 이런거죠?

1
  • 답변 3

  • zhzhzh
    192
    2020-10-18 13:26:15

    함수안에서 variable을 지역변수로 재선언 해줘서 그런거같은데요 

  • ByunGyun
    25
    2020-10-18 15:52:52

    자바스크립스 변수는 기본적으로는 함수 스코프를 가집니다.

    test2()에서 variable을 선언해줬기 때문에 함수 내에서 사용하는 variable 키워드는 전부 함수 스코프의 지역 변수를 의미하죠.


  • 스텁
    2k
    2020-10-18 16:38:23

    두가지가 있네요. 변수 스코프 및 hoisting

  • 로그인을 하시면 답변 을 등록할 수 있습니다.