Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.11.2014, 17:07
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Erolast,
По-моему, эту строчку можно вообще опустить, она ничего не делает
function FormField(data) {
  this._d = data;
}
 
function FormFile(data, opts) {
  FormField.call(this, data);
  this.opts = opts;
}
 
FormFile.prototype = FormField.prototype;
//FormFile.prototype.constructor = FormFile;
 
var a = new FormFile(1, 2);
var b = new FormFile(10, 22);
console.log(a, a instanceof FormField, b instanceof FormField);
console.log(b, a instanceof FormFile, b instanceof FormFile);

точней, делает то, что перезаписывает скрытую ссылку на явную.

Последний раз редактировалось krutoy, 24.11.2014 в 17:15.
Ответить с цитированием
  #12 (permalink)  
Старый 24.11.2014, 18:56
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Erolast
Конструктор не должен быть enumerable.
а где он таков есть?

Сообщение от krutoy
точней, делает то, что перезаписывает скрытую ссылку на явную.
кто сказал?

где вы тут увидели открытие перечислимости конструктора?
прогоните объекты a или b через for...in и посмотрите где там перечисляется конструктор?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #13 (permalink)  
Старый 24.11.2014, 19:24
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от devote
где вы тут увидели открытие перечислимости конструктора?
прогоните объекты a или b через for...in и посмотрите где там перечисляется конструктор?
он вот о чем https://github.com/nervgh/yum.js/blo...rc/yum.js#L177

Хотя, по хорошему, на это пофиг.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #14 (permalink)  
Старый 24.11.2014, 19:27
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

devote,
Я не так выразился. Вы явно переопределили ссылку, скрытую, которая там и так была. Это лишнее телодвижение просто. а само свойство constructor -- как было скрытым, так и осталось.
Ответить с цитированием
  #15 (permalink)  
Старый 24.11.2014, 19:41
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от krutoy
Это лишнее телодвижение просто
вот почему у тебя карма в минусе
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #16 (permalink)  
Старый 24.11.2014, 19:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от krutoy
Вы явно переопределили ссылку, скрытую, которая там и так была.
да была, но другая... если Вы код читать умеете, должны понимать какая именно там была и какая стала и почему и для чего.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 24.11.2014 в 20:00.
Ответить с цитированием
  #17 (permalink)  
Старый 24.11.2014, 20:15
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

devote,
Да, я ошибся, невнимательно глянул, извиняюсь. Но код ваш работает и без этого. Зачем Вы это сделали?
Ответить с цитированием
  #18 (permalink)  
Старый 24.11.2014, 20:18
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
почему и для чего
Вот это, как раз интересует
Ответить с цитированием
  #19 (permalink)  
Старый 24.11.2014, 20:35
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

При наследовании у ребенка в конструкторе получается ссылка на конструктор родителя. необходимо восстановить ребенку в конструкторе ссылку на свой конструктор.
Ответить с цитированием
  #20 (permalink)  
Старый 24.11.2014, 21:18
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

tsigel,
Но тогда экземпляры FormFiled, будут ссылаться на FormFile
function FormField(data) {
  this._d = data;
}
  
function FormFile(data, opts) {
  FormField.call(this, data);
  this.opts = opts;
}
  
FormFile.prototype = FormField.prototype;
FormFile.prototype.constructor = FormFile;
  
o=new FormField()
console.log(o.constructor)
// [Function: FormFile]
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16
Ещё один PINQ Kfuse Ваши сайты и скрипты 21 07.05.2010 12:50
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Еще один вопрос по setTimeout setInterval Хранитель Света Общие вопросы Javascript 5 12.03.2009 22:37
Еще один вариант плавно раскрывающегося дива (экспандер, спойлер) Alekson Ваши сайты и скрипты 0 23.12.2008 03:01