可能重复:
JavaScript: var functionName = function() {} vs function functionName() {}
在JavaScript中,我可以定义一个函数并将其分配给变量:
var myVar = function myFunc(){};
或定义独立功能:
function myFunc(){};
第一种方法的用例是什么?
答案 0 :(得分:4)
声明给变量的函数不会被提升到范围的顶部
function run() {
fn1(); // logs "hi"
fn2(); // error
function fn1 () { console.log("hi"); }
var fn2 = function () { console.log("hi again"); };
}
请参阅此前相关的答案。 Are named functions or anonymous functions preferred in JavaScript?
在解析完成之后,这将最终看起来与此相似
function run() {
function fn1 () { console.log("hi"); }
var fn2;
fn1(); // logs "hi"
fn2(); // error
fn2 = function () { console.log("hi again"); };
}