啥是函数声明?
函数声明:使用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
};
函数表达式和匿名函数啥关系?
函数表达式右侧的东西就叫做匿名函数。
没名字嘛
加上左侧就叫表达式了。