啥是函數(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ū)別,如果你是先調用后定義函數(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ù)谬俄。
沒名字嘛
加上左側就叫表達式了。