With or without var keyword
Question:
What exactly is the function of the var keyword in Javascript, and what is the difference between:
var someNumber =2;
var someFunction =function(){ doSomething;}
var someObject ={}
var someObject.someProperty =5;
and:
someNumber =2;
someFunction =function(){ doSomething;}
someObject ={}
someObject.someProperty =5;
When would you use either one, and why/what does it do?
Answer:
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
posted on 2013-02-26 10:22 malaikuangren 阅读(165) 评论(0) 收藏 举报
浙公网安备 33010602011771号