다음 코드를 살펴보면 누군가가 JavaScript에서 값을 전달하는 방법을 설명 할 수 있습니까? 다른 기능에서 다음자바 스크립트 변수 할당?
function loadImages() {
for(var sec in images) {
theme = images[sec];
for(var tsec in theme) {
theme[tsec].img = new Image();
theme[tsec].img.src = 'images/'+theme[tsec].src+'.png';
}
}
}
는 :
function definitionToSpriteDataMapping() {
var result = {};
for(var definition in blocks) {
var sprite = blocks[definition].sprite;
for(var secnm in images) {
section = images[secnm];
for(var spritenm in section) {
if(sprite == spritenm) {
result[definition] = {};
result[definition].img = section.img;
}
}
}
}
return result;
}
나는 단순 위해 몇 가지 코드를 잘라하지만 여전히 매우 복잡한. 기본적으로 중첩 된 키 : 값 쌍인 두 개의 객체 (이미지 & 블록)가 있습니다. "화상"에는 .IMG가 .IMG 첨가 코드의 첫 번째 블록 전에 없다
section = images[secnm];
result[definition] = {};
result[definition].img = section.img;
코드의 두 번째 행의 코드
theme = images[sec];
theme[tsec].img.src = 'images/'+theme[tsec].src+'.png';
의 제 1 블록이 "인 테마". 그러나 이것은 두 번째 코드 블록에서 볼 수 있듯이 "이미지"로 다시 반영됩니다. JavaScript에서 포인터와 같은 모든 객체입니까? "결과"는 "주제"가 "이미지"와 "블록"과 동일한 관계를 가질 것입니까? "theme"에서 요소를 제거하면 "images"에 반영됩니까?
'i = new Image(); i.img.src = 'images /'+ theme [tsec] .src + '. png'; 테마 [tsec] = i;'당신에게 더 이해가 되겠습니까? –