Saturday, November 17, 2012

Difference between using var and not using var in JavaScript

If you're in the global scope then there's no difference.
If you're in a function then "var" will create a local variable, "no var" will look up the scope chain until it finds the variable or hits the global scope (at which point it will create it):
// These are both globals
var foo = 1;
bar = 2;

function()
{
    var foo = 1; // Local
    bar = 2;     // Global

    // Execute an anonymous function
    (function()
    {
        var wibble = 1; // Local
        foo = 2; // Inherits from scope above (creating a closure)
        moo = 3; // Global
    }())
}
If you're not doing an assignment then you need to use var:
var x; // Declare x
 
http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using-var-in-javascript 

No comments:

Post a Comment