Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2010, 05:05
Аспирант
Отправить личное сообщение для Kein Посмотреть профиль Найти все сообщения от Kein
 
Регистрация: 11.01.2010
Сообщений: 32

Прототип и класс
Здраствуйте, только изучаю ООП в Javascript, и встала такая проблема:
function test(id){
  var me = this;
  this.name = 'myname';
  this.id = document.getElementById(id);
  this.clic = function(){
    alert(me.name);
 }
  id.addEvent('click',this.click);
}
//
window.onload = function(){
   mydiv = new test('mydiv');
}


<div id="mydiv">....


Здесь по клику срабатывает все, но стоит мне объявить функцию:
test.prorotype = {
    click : function(){
        alert(me.name);
    }
}

Он сразу жалуется на неизвестную переменную me. Что с этим делать? я хочу что бы все функции были указанны через прототип, и наче класс слишком большой, и будет лишнее создание функций

Последний раз редактировалось Octane, 11.01.2010 в 16:12. Причина: http://javascript.ru/formatting
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2010, 11:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Зачем me? this достаточно в данном случае.
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2010, 13:24
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Kein
Он сразу жалуется на неизвестную переменную me.
В контексте новой функции click в prototype переменная me новая с областью видимости window.
Разберитесь с областями видимости переменных. А вообще еще хорошо было бы разобраться с обьектами.
http://javascript.ru/tutorial/object
http://javascript.ru/basic/functions
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Понимание ООП в JavaScript kefi Общие вопросы Javascript 160 25.09.2012 21:30
Созданный методом apend класс не реагирует на события не не цепляется селектором Paradise jQuery 4 14.05.2009 14:47
"Классический" ООП в JavaScript Андрей Параничев Общие вопросы Javascript 67 25.03.2009 18:33
ООП: как создавать наследника от встроенных объектов? Langalier Общие вопросы Javascript 17 02.02.2009 17:07
Как сравнить класс, если их много!? Sc@M Events/DOM/Window 16 29.08.2008 12:47