可能重复:
Difference between using var and not using var in JavaScript
我看到人们在javascript中声明函数的方法有两种。之一:
foo = function()
{
//Do stuff
}
或
var foo = function()
{
//Do stuff
}
我是javascript的新手,想知道两者之间是否存在真正的差异。是否比另一个更好用,还是取决于具体情况?
答案 0 :(得分:1)
AFAIK,如果您未说明var
,那么您的函数将被分配到全局范围(与window
对象相同的范围级别),但是如果您将其声明为var
它将包含在其父范围内。
答案 1 :(得分:0)
有两种方法:
在您的情况下,您尝试在变量中声明它。声明变量(无论是否为函数)以var
语法开头。
var foo = function() { }; // please note that semicolon (;)
正常定义函数时:
function foo() { }
因此,在您的情况下,var
是必需的,除非您预先定义它:
var foo;
foo = function() { };
编辑:正如詹姆斯所说,如果你想在全球范围内定义它,你可以放弃var
关键字。但说实话,如果您希望在另一个范围级别定义变量,那么预定义变量仍然是一种更好的做法。
答案 2 :(得分:0)
最好使用var
声明,否则您可能会影响全局范围中的任何其他var。有关详情,请查看此问题:What is the scope of variables in JavaScript?