javascript - "this" keyword inside closure -


i've seen bunch of examples can't seem sample code work.

take following code:

var test = (function(){     var t = "test";     return {         alertt: function(){              alert(t);         }     } }()); 

and have function on window.load like:

test.alertt(); 

that works fine. however, when try explicitly set context of t inside alert() in alertt, undefined.

i've tried:

var = this; alert(that.t); //undefined 

i've tried:

        return {             that: this,             alertt: function(){                  alert(that.t); // undefined!             }         } 

and i've tried:

var test = (function(){     var t = "test";     var myobj = this;     return {         alertt: function(){              alert(myobj.t); // undefined!         }     } }()); 

what missing? need able set context explicitly things callbacks etc. i've seen examples (http://stackoverflow.com/questions/346015/javascript-closures-and-this-context) seem i'm doing, why not work?

t normal variable in scope of outside anonymous function (and inner anonymous function). isn't property on object, set without reference this, that, or the_other.

var test = (function(){     var t = "test";     return {         alertt: function(){              alert(t);         },         sett: function (new_value) {             t = new_value;         }     } }()); test.alertt(); test.sett('hello, world'); test.alertt(); 

the syntax using usual pattern creating acts private variable in js.


Comments

Popular posts from this blog

ASP.NET/SQL find the element ID and update database -

jquery - appear modal windows bottom -

c++ - Compiling static TagLib 1.6.3 libraries for Windows -