javascript需要知道的1

时间:2022-08-10 20:49:02

函数表达式&命名函数表达式&函数声明

1.区别

function(){} 例如这种格式,不带有函数名称的为函数表达式

var fun = function f(){} //赋值表达式的一部分,为函数表达式

(function(){

  function f(){}

})()

命名函数表达式就比较好认识了,比如 var fun = function f(){};//不仅有函数名,还有赋值。

如果不声明函数名称,它就是表达式,可如果声明了函数名称的话,通过上下文来区分的,如果是作为赋值表达式的一部分的话,那它就是一个函数表达式,如果被包含在一个函数体内,或者位于程序的最顶部的话,那它就是一个函数声明。

需要注意的:函数声明不管写在哪个位置,尽管是末尾,也是会在同作用域内第一个表达式之前被解析。