啥是函數(shù)聲明?
函數(shù)聲明:使用function關鍵字聲明一個函數(shù),再指定一個函數(shù)名,叫函數(shù)聲明。
function functionName(arg1, arg2, …){
}
函數(shù)表達式:使用function關鍵字聲明一個函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個變量,叫函數(shù)表達式,這是最常見的函數(shù)表達式語法形式。
var variable=function(arg1, arg2, …){ }
總結一下,有名字的就是函數(shù)聲明,沒名字的就是函數(shù)表達式。。表達式嗎,是要有等號的。
那么有啥區(qū)別呢?
既然功能一樣,那么就沒啥區(qū)別嗎?
有區(qū)別,如果你是先調(diào)用后定義函數(shù),那么函數(shù)聲明這種方式是可以的,而函數(shù)表達式這種方式不可以。
函數(shù)聲明
alert(add(3,4));//7
function add(x,y){
return x+y;
}
函數(shù)表達式
alert(x(3,4));
x=function(x,y){
return x+y
};
函數(shù)表達式和匿名函數(shù)啥關系?
函數(shù)表達式右側的東西就叫做匿名函數(shù)。
沒名字嘛
加上左側就叫表達式了。