Javascript.RU

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

прошу прощения алгоритм описывается в книге Николаса Закаса: JavaScript для профессиональных веб-разработчиков.
Ответить с цитированием
  #12 (permalink)  
Старый 13.06.2016, 11:39
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

var a = {
c:1,
a:3
}
var b = a;

b.c = 0;
alert(a.c);


Объект существует отдельно от переменных, переменные хранят только ссылку на него, поэтому алерт 0. Из одной переменной мы меняем свойство, а из другой его получаем. Но объект один единственный.
Ответить с цитированием
  #13 (permalink)  
Старый 13.06.2016, 11:39
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Точнее, в том первом пункте создаётся пустой объект и ему присваивается прототип. А в переменную el это попадает после 4 пункта
Ответить с цитированием
  #14 (permalink)  
Старый 13.06.2016, 11:41
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

Сообщение от Яростный Меч
Точнее, в том первом пункте создаётся пустой объект и ему присваивается прототип. А в переменную el это попадает после 4 пункта
Воот, в переменную попадает ссылка на уже готовый объект.
Ответить с цитированием
  #15 (permalink)  
Старый 13.06.2016, 11:41
Интересующийся
Отправить личное сообщение для pomidor_makaronus Посмотреть профиль Найти все сообщения от pomidor_makaronus
 
Регистрация: 19.04.2016
Сообщений: 18

Сообщение от Яростный Меч Посмотреть сообщение
Это происходит в п.1 алгоритма
Тогда какая разница между 1-м и 4 пунктом?
Ответить с цитированием
  #16 (permalink)  
Старый 13.06.2016, 11:47
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

1 {} - создание объекта, свойств нет.
2 this конструктора равен этому обьекту.
3 выполняем код конструктора к примеру this.a = 0 ;
в результате наш обьект уже не пуст {a:0};
4 конструктор завершает работу, и мы наконец передаем ссылку на него в переменную.

Както так, незнаю уж насколько понятно изложил.
Ответить с цитированием
  #17 (permalink)  
Старый 13.06.2016, 11:49
Интересующийся
Отправить личное сообщение для pomidor_makaronus Посмотреть профиль Найти все сообщения от pomidor_makaronus
 
Регистрация: 19.04.2016
Сообщений: 18

Спасибо врубился т.е под созданием объекта (п. 1) подразумевается наполнение его стандартными свойствами javascript в том числе и свойством prototype вместе с его значением на момент создания объекта. А (п. 4) подразумевает просто присвоение переменной el ссылки на
этот объект!?
Ответить с цитированием
  #18 (permalink)  
Старый 13.06.2016, 11:52
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

Все верно, созданием пустых обьектов занимается специальный конструктор и прототип создает он, еще на этапе номер 1. Потом мы можем его перезаписать.
Ответить с цитированием
  #19 (permalink)  
Старый 13.06.2016, 11:53
Интересующийся
Отправить личное сообщение для pomidor_makaronus Посмотреть профиль Найти все сообщения от pomidor_makaronus
 
Регистрация: 19.04.2016
Сообщений: 18

Спасибо aklis,
Яростный Меч! Вы мне очень помогли.
Ответить с цитированием
  #20 (permalink)  
Старый 13.06.2016, 12:39
Интересующийся
Отправить личное сообщение для pomidor_makaronus Посмотреть профиль Найти все сообщения от pomidor_makaronus
 
Регистрация: 19.04.2016
Сообщений: 18

Ой, ссори поспешил. Все равно не пойму: Вот я
1. создал объект
2. дал ему ссылку на прототип
3. выполнил код внутри функции Element которая перезаписала ссылку на
прототип, причем до обращения к этому объекту извне.
4. вернул ссылку на Element переменной var el
Т.е. основной вопрос попрежнему остается почему у меня нет доступа к
этому прототипу ?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать мастер создания памятника ? cosskay Общие вопросы Javascript 0 20.05.2014 17:47
EruditionCMS - веб-приложение для создания и проведения тестирований mbcsoft Ваши сайты и скрипты 0 08.05.2014 13:12
Ищу партнера для создания интернет проекта Zenders Работа 5 28.05.2013 19:31
Поиск и выбор папки с максимально поздней датой создания. Майя Общие вопросы Javascript 1 13.04.2012 16:11
Ищу программиста для сотрудничества, ищу программиста для создания браузерной игры He3HaUKa Javascript под браузер 3 25.04.2011 20:53