函数声明和函数表达式可以互换使用吗? [重复]
这个问题在这里已有答案:
- var functionName = function() {} vs function functionName() {} 37回答
他们都有自己的用例。函数声明是hoisted到脚本的顶部,可以在定义出现之前调用,而函数表达式只能在声明后调用。
sayHello1(); // Won't work since variable expression is created after call
sayHello2(); // Will work since function declarations are hoisted
var sayHello1 = function() {
console.log("Hello World!");
}
function sayHello2() {
console.log("Hello World!");
}
命名函数表达式对递归调用很有用:
var sayHello1 = function sayHelloFunc() {
if (/* something */) {
sayHelloFunc()
}
}
与本文相关的文章
评论列表(0)
- 暂无评论