箭頭函數:
- 包圍參數列表的小括號
()
無參(一定要寫括號):() => {...}
1個參數(括號可省略):x => {...}
多個參數(一定要寫括號):(x, y) => {} -
包圍函數體的大括號
{}- 如果只有返回語句,可以省略
{}和return關鍵字,直接寫返回值。
但如果返回值是object類型,應該用()包圍對象。
如num => ({age:num})。否則返回值為undefined。
原因見JS中的{},()及自調用 - 如果有多條語句,函數體用
{}括起來,不可省略。
- 如果只有返回語句,可以省略
//無參的箭頭函數:
var f1 = ()=>{console.log("箭頭函數");}
f1();//箭頭函數
//含參的箭頭函數:
var f2 = (a,b)=>{return a+b;}
f2(5,5);//10
//測試:用箭頭函數遍歷數組
var array =[1,2,3,4,5];
array.forEach((a)=>{console.log(a)});//1,2,3,4,5
匿名函數自調用:
(function(){
console.log("自調用")
})();//這裏的括號表示調用自己
(function(){
console.log("自調用")
}());//括號寫在裏面也可以
(function(obj){
console.log(obj)
})(100);//向obj傳進實參
//當然也可以用箭頭函數的形式寫出來
(()=>{console.log("箭頭自調用函數");)();//括號也可以寫在裏面
回調函數:
實參傳給形參參數,這裏的callback指向function(result){console.log(result)}
模板字符串拼接:
兩邊用`這個符號括起來,變量放在${}裏面
定義變量
var a=100;
var b=200;
//普通寫法
console.log(a+"+"+b+"="+(a+b));//100+200=300
//模板拼接寫法
`${a}+${b}=${a+b}`//100+200=300