Да и так тоже работает
b = new Array();
b.b_name = function(){alert("Борис");};
b.b_name();
И вообще с любыми предопределенными объектами. |
Так в чем же разница?
|
Кроме прочего, насколько я понимаю, в прототипах нельзя задать приватные свойства, или можно?
|
http://learn.javascript.ru/classes#...-в-javascript
Т.е. если я верно понимаю, то в общем-то они все и есть объекты, но имеют какие-то свои отличительные свойства. Было бы интересно, узнать какие. Подскажите, пожалуйста, где это описано. |
Подскажите пожалуйста, создаю
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, и на оборот, т.е. не как при написании, функции-конструктора в первом варианте, где меняются только свойства потомков, но не знаю, где можно посмотреть описание данного синтаксиса. Подскажите, пожалуйста. |
| Часовой пояс GMT +3, время: 13:57. |