변수를 기준으로 참조 할 수 있기 때문에 동적으로 추가하는 다양한 DOM 요소를 수집하기 위해 개체 리터럴을 사용합니다 (아래의 코드는 단순화되어 있으며 훨씬 더 많은 이벤트가있을 것입니다.) :JS 개체 리터럴 범위 및 참조
ui = {
header : $('<div id="header"></div>').appendTo('body').css('color','#009'),
footer : $('<div id="footer"></div>').appendTo('body').css('color','#990')
}
지금 난 그냥 여기에 다른 개체를 추가 할 수 있지만,이 오류가 발생합니다 소원 :
ui = {
header : $('<div id="header"></div>').appendTo('body').css('color','#009'),
footer : $('<div id="footer"></div>').appendTo('body').css('color','#990'),
headerSpecial : $('<span>some header</span>').appendTo(ui.header) // this line will cause an error "ui is not defined"
}
나는 이것이 겠지 '하는 UI 오브젝트를 닫을 때까지, 내가 할 수 있기 때문에 아직 안에는 아무것도 참조하지 마라. 그래서 나는이 것들을 분리 된 객체들로 분리해야 할 것입니다. 그러나 단일 객체에서이 모든 것을 수행 할 수있는 방법이 있습니까? 익명의 함수로 몇 가지 내용을 싸서 호출해야합니까?
JSON은 자바 스크립트 객체와 비슷하게 생기는 데이터의 문자열 표현 *입니다. 가지고있는 것은 JavaScript 객체 리터럴입니다. JSON을 사용하면 아무 것도 할 수 없습니다. –
귀하의 생각은 정확합니다. 'ui.header'는 당신이'headerSpecial'을 시도 할 때 아직 존재하지 않습니다. –
로켓에 동의합니다. 나는 tim이 첫 번째 문제를 해결하고 문자열이 아닌 문자열 연산을 시도 할 때 중요한 구분이 될지라도 JSON의 오해가이 문제의 원인이라고 생각하지 않습니다. – AaronLS