Re: Variables and Object creation using prototypes
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.javascript archive

Re: Variables and Object creation using prototypes

From: Michael Winter <m.winter@blueyonder.co.uk>
Date: Sun Apr 30 2006 - 13:59:21 CEST

On 30/04/2006 12:33, nrlz@hotmail.com wrote:

> Try to guess what happens if I run the following code in any modern
> browser. [...]

A "modern browser" doesn't matter. Any correct ECMAScript implementation
will do.

> Will I get:
>
> 1) 1,2...a,b
> 2) a,b...a,b
> 3) null...null
> 4) 1,2,a,b...1,2,a,b

[snip]

> Group.prototype = {
> members: [],
>
> addMember: function(m) {
> this.members.push(m);
> },
>
> listMembers: function() {
> return this.members.join(",");
> }
> };

The latter (4). The members array is a property of the prototype object,
not objects created via the Group constructor function. As each
resulting object will /share/ the properties of the prototype, any
properties added to it will accumulate and be accessible to all instances.

[snip]

Mike

-- 
Michael Winter
Prefix subject with [News] before replying by e-mail.
Received on Mon May 1 05:27:51 2006