js 바 인 딩 이벤트 this 지향 변화 하 는 문제 해결 방법

1218 단어
함 수 를 다음 과 같이 확장 할 수 있 습 니 다.
 
  
Function.prototype.bind = function(obj) {
var _this = this;
return function() {
_this.apply(obj,arguments);
}
}

용법 은 아래 와 같다.
 
  
var a = function(){
alert(this.title)
}.bind(document);
a();

여기
 
  
function myalert() {
this.title = 'hello world';
this.init = function() {
$("#xxx").click(this.close.bind(this));
}
this.close = function() {
alert(this.title)
}
}
 
  

var a  = new myalert();

a.init();


좋은 웹페이지 즐겨찾기