1锌蓄、關(guān)于函數(shù)的聲明方式
1.1升筏、ES5
在ES5中,我們常用的函數(shù)聲明方式有兩種瘸爽。
第一種:
<script type="text/javascript">
function fun(){
}
</script>
這種方法是我們最常見的您访,也是學(xué)校中老師最先教的方式,這里的fun是函數(shù)名蝶糯,由自己決定洋只。
第二種:
<script type="text/javascript">
var fun = function(){
}
</script>
這種方法不太常見,但是應(yīng)該也有見過,那么這兩種方式有什么區(qū)別嗎识虚?
有的
當(dāng)我們使用函數(shù)表達(dá)式的方式來聲明函數(shù)的時候肢扯,也給了函數(shù)名,這個函數(shù)名是不能夠在函數(shù)體外進(jìn)行調(diào)用担锤,只能在函數(shù)體內(nèi)調(diào)用的蔚晨。
可能這樣說有些抽象,舉個例子:
<script type="text/javascript">
fun1();
function fun1(){
console.log(1)
}
fun();
var fun = function(){
console.log(2)
}
</script>
在這個例子中肛循,fun1()不會受到聲明位置的影響铭腕,而fun則會報錯,因為在這個例子中多糠,fun()是以聲明變量的形式聲明累舷,而變量必須先聲明才能調(diào)用,所以使用第二種方式聲明的話就只能在函數(shù)體調(diào)用函數(shù)名夹孔。
1.2被盈、ES6
在ES6中,新增了一種叫箭頭函數(shù)的聲明方式搭伤,看下方↓↓↓
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})
</script>
箭頭函數(shù)需要使用變量來記錄函數(shù)才能在函數(shù)外調(diào)用只怎,否則只能使用立即執(zhí)行函數(shù)進(jìn)行調(diào)用,例如:
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})(66)
</script>
箭頭函數(shù)有3種聲明方式怜俐,如下:
第一種:
<script type="text/javascript">
var fun = ((parameter) => {
console.log(parameter)
})
</script>
第二種:
<script type="text/javascript">
var fun = (parameter => {
console.log(parameter)
})
</script>
第三種:
<script type="text/javascript">
var fun = (parameter =>
console.log(parameter)
)(66)
</script>