Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 15.04.2013, 13:10
Интересующийся
Отправить личное сообщение для Aves Посмотреть профиль Найти все сообщения от Aves
 
Регистрация: 14.12.2011
Сообщений: 12

Сообщение от dmitriymar Посмотреть сообщение
.... здорово , а ничего что ссылка на конструктор это свойство прототипа, а не прототип свойство конструктора ?
Зашибись, то есть String.prototype это я придумал, а на самом деле такого не существует.

И я знаю, что произойдет с объектом, если поменять прототип у его конструктора, мне для этого не нужно "несколько строчек" писать, я спрашивал про классы в других язаках программирования.

Вы бы проспались сначала, и повнимательнее читать стали, прежде чем позориться.

Последний раз редактировалось Aves, 15.04.2013 в 13:14.
Ответить с цитированием
  #22 (permalink)  
Старый 15.04.2013, 13:15
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

father_gorry,
ебать ты нубло
Ответить с цитированием
  #23 (permalink)  
Старый 15.04.2013, 13:21
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Aves
Сообщение от dmitriymar Посмотреть сообщение
.... здорово , а ничего что ссылка на конструктор это свойство прототипа, а не прототип свойство конструктора ?
Зашибись, то есть String.prototype это я придумал, а на самом деле такого не существует.
Так и есть 90%, из того что ты пишешь, ты сам придумываешь. И маскируешь это под что то знакомое всем, так что с первого взгляда выглядит правдоподобно. Учи основы -ты часто бред несёшь.
Причём прототип "строки" к тому что, ты конструктор сделал родителем прототипа , а не прототип родительским объектом ссылки на конструктор?
Фленеган 6 издание стр . 226
var F = function (){}
var p = F.prototype
var c = p.constructor
c === F

Последний раз редактировалось dmitriymar, 15.04.2013 в 13:26.
Ответить с цитированием
  #24 (permalink)  
Старый 15.04.2013, 13:33
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Aves
Вы бы проспались сначала, и повнимательнее читать стали, прежде чем позориться.
Да кстати, обрати внимание что, в моих сообщениях стоят цитаты, с твоих сообщений.
Поэтому прежде чем давать, подобные "советы" подумай десять раз о том как ты позоришься перекручивая и пытаясь выставить всё в другом свете
Ответить с цитированием
  #25 (permalink)  
Старый 15.04.2013, 15:46
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от Aves
И я знаю, что произойдет с объектом, если поменять прототип у его конструктора, мне для этого не нужно "несколько строчек" писать
Если изменить прототип у конструктора, эти изменения будут видны и в объекте, но если заменить прототип у конструктора, с объектом ничего не произойдет, а это повлияет только на позже сконструированные объекты.
Ответить с цитированием
  #26 (permalink)  
Старый 15.04.2013, 15:58
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от Aves
Если опустить тонкости, то можно сказать, что у объектов нет прототипов, у них есть конструкторы.
Вы путаете прототип объекта и созвучное свойство prototype конструктора. У объекта есть прототип, хотя в стандарте (по крайней мере в старом) нет к нему прямого доступа. То, что кажется свойством constructor объекта, на самом деле свойство прототипа, которое может быть, а может и не быть выставлено правильно. Оно почти никогда не нужно, поэтому о нем часто забывают.
function Test() {}
Test.prototype = { a:1, b:2, constructor:Test }
Без выделенной части свойство constructor созданного объекта будет указывать не на Test а на Object, тем не менее прототипом созданного объекта будет Test.prototype

Последний раз редактировалось rgl, 15.04.2013 в 16:05.
Ответить с цитированием
  #27 (permalink)  
Старый 15.04.2013, 16:16
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,513

Опять все упоролись по ооп. =\
__________________
29375, 35
Ответить с цитированием
  #28 (permalink)  
Старый 15.04.2013, 16:23
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Обсуждают прототипное наследование, но в приведнных примерах кода нет применения instanceof. Зачем вообще такое наследование без instanceof?
Ответить с цитированием
  #29 (permalink)  
Старый 15.04.2013, 19:31
Новичок на форуме
Отправить личное сообщение для father_gorry Посмотреть профиль Найти все сообщения от father_gorry
 
Регистрация: 25.05.2012
Сообщений: 8

Сообщение от dmitriymar Посмотреть сообщение
Изменить прототип существующего объекта полностью ? Для этого он может и не быть промежуточным в длинной цепочке. достаточно у одного конструктора полностью сменить прототип .
А что мешает протестить самому? -это несколько строк кода всего
function A(){this.num =10};
function D(){this.num =20};
function B(){}
B.prototype = new A;
var c = new B;
alert(c.num)
B.prototype = new D;
alert(c.num)
В Вашем примере оба раза 10. Где ошибка?

И заодно, почему нельзя вместо
function A(){this.num =10};
function B(){}
B.prototype = new A;

писать
function B(){
  this.prototype = new function(){this.num =10}
};

?
Второй вариант ведь намного лаконичнее и проще бы воспринимался!
Ответить с цитированием
  #30 (permalink)  
Старый 15.04.2013, 20:00
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от father_gorry
В Вашем примере оба раза 10. Где ошибка?
С чего это вы взяли, что там ошибка?
Сообщение от father_gorry
В И заодно, почему нельзя вместо
function A(){this.num =10};
function B(){}
B.prototype = new A;

писать
function B(){
  this.prototype = new function(){this.num =10}
};

?
Второй вариант ведь намного лаконичнее и проще бы воспринимался!
Так НЕЛЬЗЯ писать потому, что свойство prototype - это НЕ прототип, а обычное свойство! Поймите вы это уже
__________________
★ ²º¹³ ☆

Последний раз редактировалось Hekumok, 15.04.2013 в 20:03.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли в js понятие частоты кадров, наподобие как во флэше? andrew_F Общие вопросы Javascript 8 01.05.2012 20:25
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37