Will try that, thank you yuval

On Dec 4, 8:44 pm, yuval dagan <dag...@gmail.com> wrote:
> Hi
>
> currently the rdBuff is shared between all instatces
> try to create the instance variable (here rdBuff) inside the initialize
> function
> and with the this keyword its not default  like in C++ etc...
>
> var SomeClass = Class.create({
>  initialize: function(name) {
>     this.rbBuffer = {};
>   },
>
>  setBuffer: function(val) {
>    this.rbBuffer.test = val;
>  },
>
> .
> .
> .
>
> hope it helped
>
> cheers
>
> yuval
>
>
>
> On Sat, Dec 4, 2010 at 5:01 PM, Luke <kickingje...@gmail.com> wrote:
> > Hi,
>
> > I've got a weird behavior here, or rather a behavior I don't
> > understand. If you take the following Class:
>
> > ---
> > var SomeClass = Class.create({
>
> >  rbBuffer: nulll,
>
> >  setBuffer: function(val) {
> >    this.rbBuffer = val;
> >  },
>
> >  getBuffer: function() {
> >    return this.rbBuffer;
> >  }
> > });
> > ---
>
> > and play around a little bit:
>
> > ---
> > var c1 = new SomeClass();
> > var c2 = new SomeClass();
>
> > c1.setBuffer(true);
> > c2.setBuffer(false);
>
> > log(c1.getBuffer()); // PRINTS TRUE
> > log(c2.getBuffer()); // PRINTS FALSE
> > ---
>
> > everything works as expected. But if you alter that class and make
> > rbBuffer a JSON-object and try to set/get properties of that object,
> > it kinda gets shared:
>
> > ---
> > var SomeClass = Class.create({
>
> >  rbBuffer: {},
>
> >  setBuffer: function(val) {
> >    this.rbBuffer.test = val;
> >  },
>
> >  getBuffer: function() {
> >    return this.rbBuffer.test;
> >  }
> > });
>
> > var c1 = new SomeClass();
> > var c2 = new SomeClass();
>
> > c1.setBuffer(true);
> > c2.setBuffer(false);
>
> > log(c1.getBuffer()); // PRINTS FALSE
> > log(c2.getBuffer()); // PRINTS FALSE
> > ---
>
> > rbBuffer.test of the first object is overwritten with the value you
> > set on the second object, as if the use the same variable.
>
> > Does anyone know why this is, and how to work with it?
>
> > Thanks
> > Lukas
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Prototype & script.aculo.us" group.
> > To post to this group, send email to
> > prototype-scriptacul...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > prototype-scriptaculous+unsubscr...@googlegroups.com<prototype-scriptaculou 
> > s%2bunsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/prototype-scriptaculous?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptacul...@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to