Показать сообщение отдельно
  #52 (permalink)  
Старый 24.08.2009, 20:54
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
A.prototype.getX=function(){return 15}
Ну вот, а говоришь, что нельзя методы хранить в прототипе. Оказывается, можно. Более того, теперь:

alert(a.hasOwnProperty('getX')); // false
alert(b.hasOwnProperty('getX')); // false


и, что самое важное:

alert(a.getX === b.getX); // true. Теперь это один и тот же метод.


Я думаю, ты именно об этом говорил.

Сообщение от JSprog
alert(a.isPrototypeOf('x'));//false
Сообщение от JSprog
alert(a.isPrototypeOf('getX'));
Это не понятно, вероятно, имелось в виду:

A.prototype.isPrototypeOf(a); // true


Сообщение от JSprog
И как сделать чтобы вывелся результат работы функции?
Вызвать её, указав выражение вызова (Call-expression) - скобки:

alert(a.getX()); // вызов функции
alert(a.getX); // вывод самого объекта функции
__________________
Тонкости ECMAScript
Ответить с цитированием