2011/3/23 pnbv <[email protected]>:
> Considering a single instance object:
> app = {
> foo: 'afoo',
> bar: 'abar',
>
> callbackLib: {
> replyFoo: function () {
> console.log(this.foo);
> },
> replyBar: function () {
> console.log(app.bar);
> }
> },
>
> doSomeThing: function (){
> this.callbackLib.replyFoo.call(this);
> this.callbackLib.replyBar();
> }
> }
>
> app.doSomeThing();
>
> What would be the preferred way of doing this (if there really is a
> need for nested objects:)?
> Thanks,
> pedro
If you just want to get rid of the reference to this, you could do:
app = {
foo: 'afoo',
bar: 'abar',
callbackLib: {
replyFoo: function () {
console.log(app.foo);
},
replyBar: function () {
console.log(app.bar);
}
},
doSomeThing: function (){
app.callbackLib.replyFoo();
app.callbackLib.replyBar();
}
}
app.doSomeThing();
Although this would trigger errors in the following case:
bar = app;
app = {};
bar.doSomeThing();
As app is now no more.
--
Poetro
--
To view archived discussions from the original JSMentors Mailman list:
http://www.mail-archive.com/[email protected]/
To search via a non-Google archive, visit here:
http://www.mail-archive.com/[email protected]/
To unsubscribe from this group, send email to
[email protected]