прошу прощения алгоритм описывается в книге Николаса Закаса: JavaScript для профессиональных веб-разработчиков.
|
var a = { c:1, a:3 } var b = a; b.c = 0; alert(a.c); Объект существует отдельно от переменных, переменные хранят только ссылку на него, поэтому алерт 0. Из одной переменной мы меняем свойство, а из другой его получаем. Но объект один единственный. |
Точнее, в том первом пункте создаётся пустой объект и ему присваивается прототип. А в переменную el это попадает после 4 пункта
|
Цитата:
|
Цитата:
|
1 {} - создание объекта, свойств нет.
2 this конструктора равен этому обьекту. 3 выполняем код конструктора к примеру this.a = 0 ; в результате наш обьект уже не пуст {a:0}; 4 конструктор завершает работу, и мы наконец передаем ссылку на него в переменную. Както так, незнаю уж насколько понятно изложил. |
Спасибо врубился т.е под созданием объекта (п. 1) подразумевается наполнение его стандартными свойствами javascript в том числе и свойством prototype вместе с его значением на момент создания объекта. А (п. 4) подразумевает просто присвоение переменной el ссылки на
этот объект!? |
Все верно, созданием пустых обьектов занимается специальный конструктор и прототип создает он, еще на этапе номер 1. Потом мы можем его перезаписать.
|
Спасибо aklis,
Яростный Меч! Вы мне очень помогли. |
Ой, ссори поспешил. Все равно не пойму: Вот я
1. создал объект 2. дал ему ссылку на прототип 3. выполнил код внутри функции Element которая перезаписала ссылку на прототип, причем до обращения к этому объекту извне. 4. вернул ссылку на Element переменной var el Т.е. основной вопрос попрежнему остается почему у меня нет доступа к этому прототипу ? |
Часовой пояс GMT +3, время: 23:35. |