본문 바로가기

JAVASCRIPT

유효범위의 대상(함수) 와 정적 유효 범위

자바스크립트는 함수에 대한 유효범위만을 제공한다. 많은 언어들이 블록(데체로 {,})에 대한 유효 범위를 

제공하는 것과 다른점이다. 아래 예제의 결과는 coding everybody 이다.

 

 

for(var i = 0; i < 1; i++){
    var name = 'coding everybody';
}
alert(name);

 

for문 바깥쪽에서도 유용한 변수가 됩니다. 지역변수로서의 의미가 안된다.

다시말해 자바스크립트는 함수에 대한 유효범위만을 제공한다.

 

 

var i = 5;
 
function a(){
    var i = 10;
    b();
}
 
function b(){
    document.write(i);
}
 
a();

정답은 5입니다.

 

실행이 되면 i는 b라는 함수 안에서의 지연변수를 찾기 시작합니다.

지역변수가 존재 하지않으면 전역변수를 찾게 됩니다.

 

 b가 정의된 시점에서 i의 전역변수가 실행되는 것입니다.

 

정의될 때의 전연변수가 사용되게 됩니다.

 

그것을 정적 유효 범위라고 합니다.

 

이포스팅은 생활코딩을 참조하여 만든 포스팅입니다. egoing님 감사합니다.

'JAVASCRIPT' 카테고리의 다른 글

함수의 용도2  (0) 2020.11.01
값으로서의 함수  (0) 2020.11.01
전역변수의 사용  (0) 2020.11.01
유효 범위의 효용2  (0) 2020.11.01
시즌 함수2 유효범위 (Scope) 1  (0) 2020.10.30