JavaScript prototype chain -


i'm trying better understand relationship between object prototypes across different object instances created through same constructor.

say have this:

(function(ns){  ns.user = function(id){     this.name = "some name " + id;     this.id = id; };  })(foo = foo || {});  foo.user.prototype = function(){ var getname = function(){return this.name;} return{     getname:getname }; }();  $(function(){  var approver = new foo.user("approver1"); alert(approver.getname()); //works fine, shows approver1  var approver2 = new foo.user("approver2"); alert(approver2.getname()); //works fine, shows approver2  approver.prototype.getname = function(){alert(this.name + " modified");} //<- doesn't work (why, if foo.user, approver, , approver2 js objects same prototype chain?) approver.getname = function(){alert(this.name + " modified way");} //<-re-defined way works approver object, not it's prototype came foo.user }); 

it's understanding approver's prototype should same foo.user.prototype since it's constructed foo.user. reference same prototype chain, right? same approver2, correct?

if reference same prototype chain that's prohibiting me modifying prototype object through approver object? appears approver.prototype.getname 'undefined' approver.getname() valid, don't if getname part of object's prototype definition.

does have fact foo.user function object approver/approver2 not?

i'm missing in relationship. thanks.

object instances not have prototype property. prototype of constructor used members can't found on instance: prototypical inheritance - writing up


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -