1. 函数声明
函数在主代码流中单独声明。
function sayHi() { alert( "Hello" ); }
2.函数表达式
一个函数,在一个表达式中或另一个语法结构中创建。这里,该函数在赋值表达式 =
右侧创建。
let sayHi = function() { alert( "Hello" ); };
有没有想过为什么函数静态式在末尾处有分号,而函数声明没有?
答案很简单:
- 函数声明是代码块,它的结尾是不需要
;
,像if { ... }
,for { }
,function f { }
等语法结构后面都不用加。 - 函数表达式通常这样声明:
let sayHi = ...;
,作为一个变量。它不是代码块而是一段赋值语句。不管什么值,建议在语句结尾处建议使用分号;
。所以这里的分号与函数表达式本身没有任何关系,它只是终止了语句。
3.箭头函数
let sum = (a, b) => a + b;