![]() |
|
||||||||||
|
|||||
|
2john: Все равно странно. Мне казалось, что this в addProperty ссылается на то, к чему применена функция addProperty. Но:
class = function() { } class.prototype.f=function() { trace("!"); } a.prototype.addProperty("pr",function (){}, a.prototype.f); корректно добавляет проперти. А вот a.prototype.addProperty("pr",function (){}, this .f); - нет. Плиз, поясни, this - это на какой объект указатель в данном контексте? И еще, кстати, с null не работает. То есть, чтобы не определять геттер, например, надо вместо null писать function(){}. -- И вот еще вопрос-уточнение: если мы добавляем свойство к прототипу, это свойство будет единым для всех объектов класса. правильно? Тогда если мы изменим для КАКОГО-ТО одного объекта это свойство, оно автоматически изменится для всех объектов? так? -- спасибо!
__________________
suum quique |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Если ты пишешь эту строку как код функции мувика, то this возвращает ссылку на этот мувик, если как код функции некого обекта, напр.
то тогда this возвращает ссылку на Obj.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Э нет, так-то понятно.
А если:class.prototype.addProperty("pr",function (){}, this .f); this - не похоже, что он будет на прототип ссылаться. А вот на что, интересно. Или вообще такая запись некорректна....
__________________
suum quique |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Когда регистрируется Property "расположение" функций которые регистрируются как гетеры и сетеры не имеет значения. Например можно "взять" ссылку на метод у другого класса и зарегистрировать как обработчик проперти (гетер или сетер) у другого класса.
Главное что все this внутри зарегистрированной функции - ссылка на класс в котором функция выполнятся как гетер или сеттер. |
![]() |
Часовой пояс GMT +4, время: 21:40. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|