저는 자바 스크립트 세계에 처음 오릅니다. 변수 범위에 대해 읽었을 때 나는 그 아이디어가 뒤에 있다고 생각합니다. 몇 가지 실험을했는데 여기서 예상치 못한 결과가 나오는 상황이 있습니다. 여기에서 x의 값은 스크립트의이 시점에서 자바 스크립트 변수 가시성
total = 0;
var id = setInterval(function(){
total++;
}, 10);
console.log(total); // 0
예상 총의 값은 항상 내가 확인한 0 같이 1 스크립트의이 시점에서 내가
var x = 0;
function set(){
x++;
}
set();
console.log(x) // 1
무슨 뜻입니다 그리고 나는 총 가치가 증가한다고 확신합니다. 두 번째 예제의 문제점과 전역 변수 total의 값이 변경되지 않는 이유는 무엇입니까?
당신은 후 간격 를 생성하여 setInterval을 사용하는
[내 변수가 함수 내부에서 수정 된 후에도 변수가 변경되지 않는 이유는 무엇입니까? - 비동기 코드 참조] (http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) –