Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "var" do in JavaScript? Why is it sometimes part of an assignment? [duplicate]

Tags:

javascript

Possible Duplicate:
Difference between using var and not using var in JavaScript

var foo = 1;

foo = 1;

What is the difference between above two lines ?

like image 666
ace Avatar asked Nov 09 '11 01:11

ace


1 Answers

Basically, var declares a variable and you can also assign to it at the same time.

Without var, it's assigning to the variable. Assigning will either assign to an existing variable or create a global variable of that name then assign to it.

Outside of functions, that means there's no real difference (in principal) if the variable does not already exist. Both create the global variable foo in that case.

Within a function, there's a huge difference. The first creates a variable local to the function regardless of whether or not it exists elsewhere.

The second will create a global variable if it doesn't exist, or simply change the value if it does exist.

In order to keep code as modular as possible, you should always use var unless you are specifically wanting to change existing global variables. That means declaring all globals outside of functions with var and declaring all locals with var.

like image 182
paxdiablo Avatar answered Oct 25 '22 12:10

paxdiablo