陈述式(statement)
定义:单行程式码,只有用来命令执行的功能,无法回传值。
流程控制类:if、switch、break、continue、Block宣告类:var、let、const迴圈:do while、while、for表达式(expression)
定义:单行程式码,可以有值,可以利用chrom输入该行程式码,会出现结果。
详细可以参考MDN的Expressions and operators
例子:
函式陈述式(Function statement)
样态:代表此类函数需要呼叫才会回传一个值,且在创造阶段就被存在记忆体里面,且通常需要被命名。
下面的function函式被宣告为Name,此类函式称函式陈述式,或称为具名函式,函式陈述式皆需命名才有作用,不然就是透过IIFE立即函式来执行。
function Name(){ console.log('执行')}Name(); //执行
直接打函式陈述式的名字即可执行。
函式表达式(Function expression)
样态:把函式function当作一个物件(object type)并把值(此值为heap memory的address)赋给予变数(LHS行为),这个新函式就称为函式表达式,在执行阶段才会有这个建立。
下面的函式未予命名的称为匿名函式。
var she = function"无名"(){ .......}
此时变数she接收到的是function的address,且函式在这边为物件型式(object type)。