函数声明和函数表达式有什么区别

啥是函数声明?

函数声明:使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
function functionName(arg1, arg2, …){

}
函数表达式:使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。
var variable=function(arg1, arg2, …){ }

总结一下,有名字的就是函数声明,没名字的就是函数表达式。。表达式吗,是要有等号的。

那么有啥区别呢?

既然功能一样,那么就没啥区别吗?
有区别,如果你是先调用后定义函数,那么函数声明这种方式是可以的,而函数表达式这种方式不可以。
函数声明

alert(add(3,4));//7
function add(x,y){
    return x+y;
}

函数表达式

alert(x(3,4));
x=function(x,y){
    return x+y
};

函数表达式和匿名函数啥关系?

函数表达式右侧的东西就叫做匿名函数。
没名字嘛
加上左侧就叫表达式了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容