<分区>
我正在学习 Javascript 中的函数,但对函数声明和函数表达式的使用感到困惑。
假设我有以下代码:
function callFunction(fn) {
fn();
}
// function expression
var sayHello1 = function() {
console.log("Hello World!");
}
// function declaration
function sayHello2() {
console.log("Hello World!");
}
callFunction(sayHello1); // Hello World!
callFunction(sayHello2); // Hello World!
我们可以很容易地看到,当将sayHello1
(函数表达式)和sayHello2
(函数声明)传递给callFunction(fn)
时,都会生成相同的输出 Hello World!
。
是否存在我必须仅使用函数声明/函数表达式或者我可以一直互换使用它们的实际情况?
非常感谢!