函数声明
在主代码流中声明为单独的语句
fuction foo() {
consle.log("foo函数被打印")
}
函数表达式
在一个表达式中或另一个语法结构中创建的函数
var bar=fuction() {
consle.log("bar被打印了")
}
//函数表达式允许省略函数名
创建时机不同
- 函数表达式在代码执行到达时被创建,并且仅从那一刻起可用
- 在函数声明被定义之前,它就可以被调用
- 内部算法的原因
- 当JavaScript准备运行脚本时,首先会在脚本中寻找全局函数声明,并创建这些函数
//函数声明
foo()
fuction foo() {
consle.log("foo函数被打印")
}
//输出结果:foo函数被打印
//函数表达式
bar()
var bar=fuction() {
consle.log("bar被打印了")
}
//输出:undefined
总结
当我们需要声明一个函数时,首先考虑函数声明,它能够为组织代码提供更多的灵活性,因为我们可以在声明这些函数之前调用这些函数.