U9nzxdjhgbxvpserb7o0
codegrow
  • 2016.4.15 16:14
  • 조회수 231
  • 답변수 1
U9nzxdjhgbxvpserb7o0
codegrow
  • 2016.4.15 16:14
  • 조회수 231
  • 답변수 1

for문에 대한 질문이 있습니다..

Q. function에 for(i = 1; ...) 이면 function에 i=1이 지역변수가 되는데 아닌가요..?
var i = 1; 이라고 또 기입하면 for문에 i=1 이랑 같은 지역변수로 중복이지 않을런지.. ? 헷갈립니다.

그리고 답은 var i = 1;로 지역변수 설정해야
아래 for문에서
var i = 2;가 영향을 받지 않는다 라고 이해 하면 되는건가요..?

function printTimesTable(a){
var i = 1;
for( i = 1 ; i <= 9 ; i++ ){
console.log( a + " * " + i + " = " + a*i );
}
}

for( var i = 2 ; i <= 9; i++ ){
printTimesTable(i);
}

varShadowing
function printTimesTable(a){
  var i = 1;
    for( i = 1 ; i <= 9 ; i++ ){
        console.log( a + " * " + i + " = " + a*i );
    }
}

for( var i = 2 ; i <= 9; i++ ){
    printTimesTable(i);
}
  • #자바스크립트 입문
  • #변수의 shadowing - 실습

1 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.15 19:17

    function의 밖에 i가 있기 때문에 function안에서 var i라고 해 주지 않으면 i는 function밖의 i와 같은 i가 됩니다.
    하지만 function안에서 var i라고 해 주는 순간 함수 안에서만 사용하는 별도의 i가 되는건데요.

    맞게 이해하셨네요.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.