2
어떻게이 코드는 아래에 쓰여진 것처럼 작동하지 않지만 내가 function testBgChange(){
을 주석 처리하고 그 함수 안에 코드를 유지하면 정상적으로 작동합니다. 함수 내에서 코드를 유지 한 다음 해당 함수를 호출하면 어떤 차이가 있습니까? 함수 내에 선언 때함수 외부에서만 작동하는 자바 스크립트 코드 - 이유는 무엇입니까?
<html>
<head>
<script type="text/javascript">
testBgChange();
function testBgChange(){
var i = 0;
var c = 0;
var time = 3000;
var incr = 3000;
while(i<=3){
if(c==0){
var red = "#FF0000";
setTimeout("changeBgColor(red)",time);
time+=incr;
c=1;
}
else if(c==1){
var white = "#FFFFFF";
setTimeout("changeBgColor(white)",time);
time+=incr;
c=0;
}
i+=1;
}
}
function changeBgColor(color){
document.getElementById("alert").style.backgroundColor = color;
}
</script>
</head>
<body>
<p id="alert">
<br>
<br>
Testing
<br>
<br>
</p>
</body>
</html>
감사 : 새로운 기능이 포함 된 함수의 변수에 대한 액세스를 유지하는 폐쇄을 생성으로이 문제를 해결할 것입니다! wouldnt는 그것을 알아 냈다 =) – mdc