클로저를 사용하여 배열을 업데이트하는 가장 좋은 방법입니까? 다른 사이트에서 이와 비슷한 것을 보았습니다. 내가 만든 글로벌 변수 closure1
에 대해 궁금했다. 글로벌을 만들지 않고도이 작업을 수행 할 수있는 방법이 있습니까?클로저에 배열 저장
<script>
var closure1=Closure(0, 0);
function Closure(num, i) {
var num=num;
var index=i;
var anArray = [];
return function(num,index) {
anArray[index]=(num);
out.innerHTML=anArray;
}
}
</script>
<div id="d1" onclick=" closure1(2,0)">2 index 0</div>
<div id="d2" onclick=" closure1(5,3)">5 index 3</div>
<div id="d3" onclick=" closure1(4,1)">4 index 1</div>
<div id="d4" onclick=" closure1(9,7)">9 index 7</div>
<div id="out" >?</div>
Closure()에 전달 된 두 매개 변수는 무엇입니까? 그 값은 반환 된 익명 함수가 사용하지 않는 지역 변수에 저장됩니다. – nnnnnn
질문에 관련이 없기 때문에 그 물건을 나왔습니다. 기본적으로 로컬 배열에서 클로저로 옮겨 가고 있습니다. 실제 배열 값은 onclick이 아니라 다른 함수를 통해 함수에 푸시됩니다. – user1740058
그래도 실제 코드에 더 가까운 것을 표시하지 않으면 "이것이 최선의 방법입니까?"라는 질문에 대답 할 수 없습니다. 인라인 이벤트 속성은 전역을 필요로하지만 지금은 실제로 사용하지 않는다고 말하면 ... – nnnnnn