"this"변수를 설정하는 좋은 방법을 찾을 수 없다는 점을 제외하고는 Javascript에 대해 잘 알고 있습니다. 치다:
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
var old_fn = someObj.fn; //store old value
someObj.fn = myFunction; //bind to someObj so "this" keyword works
someObj.fn();
someObj.fn = old_fn; //restore old value
마지막 4 줄 없이이 작업을 수행 할 수 있습니까? 오히려 성가시다 ... 나는 익명 함수를 바인딩하려고 시도했다. 나는 아름답고 영리하다고 생각했지만 아무 소용이 없다.
var myFunction = function(){
alert(this.foo_variable);
}
var someObj = document.body; //using body as example object
someObj.foo_variable = "hi"; //set foo_variable so it alerts
someObj.(function(){ fn(); })(); //fail.
분명히, 변수를 myFunction에 전달하는 것은 선택 사항입니다 ...하지만 이것이이 질문의 핵심은 아닙니다.
감사.
$.proxy(function, element)
하는 경우 해당 함수가 호출 될 때마다 요소 컨텍스트에 있도록 사용할 수 있습니다 . api.jquery.com/jquery.proxy