Показать сообщение отдельно
  #1 (permalink)  
Старый 16.07.2012, 00:26
Аватар для PRStudio
Новичок на форуме
Отправить личное сообщение для PRStudio Посмотреть профиль Найти все сообщения от PRStudio
 
Регистрация: 16.07.2012
Сообщений: 2

Нестыковка при расширении класса Object
Столкнулся с проблемой.

Расширяю класс Object своими методами, дабы потом они были доступны для DOM объектов. Вот пример метода:

Object.prototype.mymethod = function(options){
...
}


Далее, например, вызываю для какого-нибудь объекта DOM ( element.mymethod() ). Но вот проблема, в options мне нужно передать объект с параметрами {var:val ...}, однако на входе в .mymethod() я уже получаю дополнительные ключи с кодом этих самых prototype методов, т.е. вместо {var:val} получаю {mymethod:код ф-ции, var:val}. Я не могу понять, почему методы приклеиваются к объекту таким произвольным образом. Можно ли этого как-то избежать (кроме как отсеивать имена, совпадающие с методами)?
Ответить с цитированием