함수 나 프로세스가 전역 배열을 업데이트 할 때 다른 프로세스가 자바 스크립트에서 동일한 배열에 액세스하려고하는 동안 불일치가 발생할 수 있습니까? 그렇다면 트랜잭션이 실행되는 동안 파일이나 DBMS에 액세스하는 동안 운영 체제와 유사한 예방 메커니즘이 있습니까? 예를 들어 :자바 스크립트에서 전역 배열의 불일치
<script>
a = new Array(); //a is global
setInterval(fun1,10000);
function fun2()
{
for(var j=0;j<1000;j++)
{
a[j]=j;
}
}
function fun1()
{
for(var i=0;i<1000;i++)
{
a[i]=i+1;
}
}
</script>
<input type="button" value="Update Array" onclick="fun2()">
위의 코드는 버튼을 눌러 this.Merely 단지로 이러한 맥락에서 이해가되지 않습니다 입증하는 샘플은 다음과 같습니다 함수 fun1는 10 초마다 & Fun2에이 버튼을 클릭하여 트리거 실행 타이밍은 중요한 문제입니다. 나는 단지 요소가 완전히 업데이트 될 때까지 javascript가 배열 요소가 다른 함수에 의해 액세스되는 것을 방지하는 기능이 있는지 알고 싶습니다. 미안 해요, 바보 같은 질문을하면!
JavaScript는 단일 스레드이며 동시에 실행되는 다른 스크립트가 없습니다 – Bergi
say, e = document.getElementsByTagName ('span '); 이 전역 e는 문서의 모든 스팬 요소에 대한 참조를 저장합니다. 동적으로 (AJAX) 하나의 범위를 추가하면 e.length가 1 씩 증가합니다. @ Bergi – rosemary
위의 양식 계속 : 또한 값을 수집하는 함수가 있습니다. (i = 0; i
rosemary