Skip to content Skip to sidebar Skip to footer

Javascript Varibles Across Functions

As an exercise, I'm writing my code within the same namespace (namespace being sample): if ('undefined' == typeof(sample)) { var sample = {}; } sample = { foo : function (

Solution 1:

I assume you're trying to access a variable inside the sample namespace. To do this, you declare the variable at the same level as your functions, and from within the functions, you access it using the keyword this

sample = {
    myVar:10; // this is your variable
    foo : function () {
        returnthis.myVar++;  // use this keyword to access it.
    },

    bar : function () {

    }
};

Note: If you're creating a function (closure) inside your function, you'll want to create an alias for the this keyword (like _self) so that the context isn't overridden inside your new function.

Solution 2:

Another alternative:

(function(){

    //ConstructorfunctionSample(name) {
        this.sampleName = name;
    }

    Sample.prototype = {
        foo: function() {
           this.sampleName = "otherSample";
        },
        bar: function() {
           this.sampleName += "anotherSample";
        }
    };

    var sample = newSample("wow");

})();

Post a Comment for "Javascript Varibles Across Functions"