I'am는 "내부"함수에서 "상위"함수에서 일부 값을 사용하려고 작동하지 않는의 EventListener에 적용 :이
이function Load(el, script)
{
el.addEventListener('click',
function (e)
{
this.test = "testing";
script.apply(this, arguments);
}, false);
};
Load(document.getElementById("panel"),
function (e)
{
alert(test); // test is undefined
});
위의 예는 작동하지 않습니다, 그것은 test
을 말한다 정의되지 않았습니다.
하지만 다음 작품 :
function A(B)
{
this.test = "bla";
B.apply(this);
}
function B()
{
alert(test);
}
A(B);
차이점은 무엇입니까? 제대로 작동하려면 어떻게해야합니까?
흠 덕분에! 'this'를 사용하지 않고'test'를 참조 할 수있게 해주는 방법이 있습니까? – BrunoLM
@BrunoLM - 아니요 ... 전역 변수 나 지역 변수가 아니라면 핸들러에있는 객체가 아닌 객체를 참조해야하는 경우가 아니라면 컨텍스트가 있어야합니다. –
나는 본다. 다시 한 번 감사드립니다! – BrunoLM