可能重复:
Javascript: var functionName = function() {} vs function functionName() {}
What is the difference between a function expression vs declaration in Javascript?
今天我偶然发现了以下现象:
foo();
bar();
function foo()
{
console.log("inside foo");
}
var bar = function()
{
console.log("inside bar");
}
FireBug抱怨以下错误消息:
栏不是一个功能
有几个教程声称function f()
和var f = function()
基本相同。显然,他们不是,但到底发生了什么?
答案 0 :(得分:1)
函数声明可在其定义的范围内的任何位置使用,甚至可以在其物理定义之前使用。
var bar = function() { ... };
是碰巧保存函数的正常变量。与所有其他变量一样,它只能在分配后才能使用
(您无法观察变量的未来值)