"this"를 사용하여 Object 함수에 액세스하는 데 문제가 있습니다. 아래 예제 (여러 가지 이유로 실제 코드를 제공 할 수 없기 때문에 단순화 됨)의 경우 createList()를 호출 할 때 this._getEntry() 함수 호출이 "정의되지 않음"입니다."this"를 사용하여 javascript dojo closure에서 함수가 사용되었습니다. -notation이 정의되지 않았습니다.
나는 이것에 대한 의견이 있으니 자바 스크립트 클로저 오해 또는 오히려 구문 오류에 대한 오해가 있기를 바랍니다.
후자의 경우 실제 코드에서 오류를 직접 찾아야합니다.
자바 스크립트 또는 도우미 개념에 대한 오해가 있다면 올바르게 범위를 지정하고 아래에서 언급 한 함수 (_getEntry())에 액세스하는 방법에 대한 도움을 주시면 감사하겠습니다.
var OBJECT = {
_getEntry : function(entry){
var li = document.createElement('LI');
li.appendChild(document.createTextNode(entry));
return li;
},
createList : function(entryArray){
var list = document.createElement('UL');
dojo.forEach(entryArray,function(entry){
list.appendChild(this._getEntry(entry));
});
dojo.body().appendChild(list);
}
};
OBJECT.createList(["entry1","entry2"]);
감사합니다!
); added afterEach – elfwyn