JavaScript Function有两种类型
1)函数声明
//函数声明
function myFunction(type) {
return type === "Declaration"
}
2)函数表达式
//函数表达式
var expressFunction = function (type) {
return type === "Expression"
}
- 函数声明创建的函数会进行函数提升,与变量提升类似
- 函数声明在JS解析时进行函数提升,提升到顶部,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以调用。
- 函数表达式的值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。
上面图片内容就相当于如下:
//函数声明
function myFunction(type) { //提升
return type === "Declaration";
}
myFunction("Declaration");
//函数表达式
var expressFunction; //提升
expressFunction("Expression");
expressFunction = function (type) {
return type === "Expression";
}