Показать сообщение отдельно
  #11 (permalink)  
Старый 11.05.2011, 10:24
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

this.secondMetodOfYourClass = function(){
	return 1;
}

//или
this.create = function(){
	//blah blah
	
	div.onclick = (function(yourClass){
		return function(){
			alert(yourClass.secondMetodOfYourClass());
	
		}
	}(this))
}

//или
var yourClass = this;
this.create = function(){
	//blah blah
	
	div.onclick = function(){
		alert(yourClass.secondMetodOfYourClass());
	}
}


Еще: если вы создаете класс, то скорее всего экземпляров его будет несколько, тогда наверно лучше сделать так? объявить методы в прототипе
function myClass(value){
  this.value = value;
}

myClass.prototype = {
 
 method: function(){
   return this.value;
 },
 create: function(){
  //blah blah
  var div = document.createElement("DIV");
 
  div.onclick = function(that){
    return function(){
       alert(that.method());
    }
  }(this)
  //...... blah blah
 }

}

Мне так больше нравится, получается что эти методы не определяются в каждом экземпляре, а они статичные, общие для всех экземпляров, методы, которые пользуются приватными переменными в конструкторе естественно
__________________
readOnly

Последний раз редактировалось poorking, 11.05.2011 в 10:29.
Ответить с цитированием