Да и так тоже работает
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, время: 17:25. |