나는 한 시간 동안이 작업을 해왔으며 도움이 필요합니다. 이것은 나를 어리둥절칩니다. 내 코드에서 개체의 명시 적 설정을 고려동적으로 빌드 할 때 JSON 객체의 속성에 액세스 할 수 없지만 정적으로 빌드 할 수있는 경우
일하고 CASE :
var terms={};
terms[0]={};
terms[1]={"label":"bag","cell_src":"images/bag.jpg","clue_type":"audio","clue_src":"/audio/bus.wav"};
terms[2]={"label":"crayon","cell_src":"images/crayon.jpg","clue_type":"audio","clue_src":"/audio/car.wav"};
terms[3]={"label":"pen","cell_src":"images/pen.jpg","clue_type":"audio","clue_src":"/audio/car.wav"};
terms[4]={"label":"pencil","cell_src":"images/pencil.jpg","clue_src":"/audio/boat.wav"};
terms[5]={"label":"pencil_case","cell_src":"images/pencil_case.jpg","clue_src":"/audio/train.wav"};
terms[6]={"label":"rubber","cell_src":"images/rubber.jpg","clue_src":"/audio/taxi.wav"};
terms[7]={"label":"ruler","cell_src":"images/ruler.jpg","clue_src":"/audio/plane.wav"};
terms[8]={"label":"sharpener","cell_src":"images/sharpener.jpg","clue_src":"/audio/taxi.wav"};
window.terms= terms;
window.terms= terms; // for using globaly
나는 CONSOLE.LOG을 할 경우 (window.terms [1]); 나는 "가방"을 얻는다. 그게 내가 원하는거야.
명시 적 용어 {}의 값을 정의하는 경우, 대신 CASE
작동하지, 내가 JSON 파일에서 내용을 읽어와 같은 각 열거 된 인덱스에 할당 :
var terms={};
terms[0]={};
$.getJSON('content.json', function(data){
$.each(data,function(i){
//terms[i]={"label":"bag","cell_src":"images/bag.jpg","clue_type":"audio","clue_src":"/audio/bus.wav"};
terms[i+1]={"label":data[i].headword,"cell_src":data[i].image,"clue_type":"audio","clue_src":data[i].audio};
});
window.terms=terms;
});
console.log를 사용하는 경우 (window.terms [1]); "잡히지 않은 TypeError : 정의되지 않은 '1'속성을 읽을 수 없습니다. 참고로 잡아 내려는 값과 함께 뭔가 이상한 일이 생길 가능성을 제거하는 대체 시도가 있습니다. 명시 적으로 모든 색인에 동일한 정적 값을 지정하십시오. 그 같은 오류가 발생합니다.
어떻게 될 수있는 아이디어?
:
을 또한,이 개체 중 하나의 로그 문을 label 속성을보고 싶다면 것 같이 보입니다 아약스 성공 콜백 밖에서 발생합니다. –
'console.log'가 밖에 있습니다 –