Показать сообщение отдельно
  #55 (permalink)  
Старый 09.01.2013, 05:07
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Подскажите пожалуйста, создаю

var root = function(){}
root.prototype.root = "свойство root";

var admin = function(){}
admin.prototype = new root();
admin.prototype.admin = "свойство admin";

var r = new root(); 
var a = new admin();


Получаю
root = {
root: 'свойство root',
}

admin = {
admin: 'свойство admin',
root: ' свойство root',
}

var root = function(){}
root.prototype.root = "свойство root";

var admin = function(){}
admin = {}.prototype = root;
admin.prototype.admin = "свойство admin";

var r = new root(); 
var a = new admin();


Получаю
root = {
root: 'свойство root',
admin: 'свойство admin',
}

admin = {
root: 'свойство root',
admin: 'свойство admin',
}

При этом насколько я понимаю, конструкция
admin = {}.prototype = root;
делает их как бы равнозначными, те. изменения свойств admin изменит свойства root, и на оборот, т.е. не как при написании, функции-конструктора в первом варианте, где меняются только свойства потомков, но не знаю, где можно посмотреть описание данного синтаксиса.
Подскажите, пожалуйста.

Последний раз редактировалось platedz, 09.01.2013 в 05:10.
Ответить с цитированием