Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2012, 21:11
Интересующийся
Отправить личное сообщение для noname1990 Посмотреть профиль Найти все сообщения от noname1990
 
Регистрация: 04.05.2012
Сообщений: 18

Объясните про prototype
В общем есть такая функция:
Function.prototype.method = function ( name, func ) {
        this.prototype[name] = func;
        return this;
    };

  Object.method('showName', function(){
      console.log(this.name)
  });
    var o = {name:'Some'};
    o.showName()

в первой функции method расширяет прототип функции новым методом,
но почему когда мы применяем method к Object, он расширяет Object новым методом, ведь по идее у Objecta нету доступа к methody ?! я походу Жэстачайшэ туплю) объясните плз)
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2012, 00:19
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от noname1990
он расширяет Object новым методом
как уже сказал Maxmaxmахimus,
Сообщение от Maxmaxmахimus
Object это функция
следовательно она наследует от Function.prototype. При этом Object.prototype остается не тронутым.

Function.prototype.method = function( name, func ) {
	this.prototype[ name ] = func;
	return this;
};

alert( 'method' in Object );   // true
alert( 'method' in Array );   // true
alert( 'method' in String );   // true
alert( typeof( Object ) === 'function' );   // true
alert( Object.constructor );
alert( Object.constructor === Function );   // true

alert( 'method' in Object.prototype );   // false

Object.method('showName', function() {
	console.log( this.name );
 });
 
var o = { name:'Some' };
o.showName();
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 17.06.2012 в 00:24.
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2012, 14:01
Интересующийся
Отправить личное сообщение для denis_orlov Посмотреть профиль Найти все сообщения от denis_orlov
 
Регистрация: 06.12.2011
Сообщений: 22

Объясняю...
javascript: ООП, прототипы, замыкания, «класс» Timer.js (http://habrahabr.ru)
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2012, 14:16
Интересующийся
Отправить личное сообщение для denis_orlov Посмотреть профиль Найти все сообщения от denis_orlov
 
Регистрация: 06.12.2011
Сообщений: 22

Сообщение от Maxmaxmахimus Посмотреть сообщение
очевидно что он думал что Object это не функция, а остальное он знал, вы че, не догоняете?
из телепатов тут единственный - это Вы! будьте же снисходительны!
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2012, 16:16
Интересующийся
Отправить личное сообщение для noname1990 Посмотреть профиль Найти все сообщения от noname1990
 
Регистрация: 04.05.2012
Сообщений: 18

спс)т.е если расширяем прототип функций, то и расширяется функция конструктор OBject, я прально понял?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
конфликт prototype и mootools Lutsk Библиотеки/Тулкиты/Фреймворки 0 22.02.2012 20:34
Про использование cookies zloctb Общие вопросы Javascript 3 11.02.2012 09:36
Как можно что-нибудь узнать про интерфейс чужого объекта GRIG Internet Explorer 0 09.03.2011 17:16
Prototype v1.4.0 and Prototype v1.5.1_rc3 prihod Prototype & script.aculo.us 2 02.10.2008 16:08
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56