函數(shù)分為具名函數(shù)和匿名函數(shù)兩類。函數(shù)的花括號(hào)里稱為一個(gè)代碼塊奈嘿。JS中函數(shù)為單線程的函數(shù),執(zhí)行了一個(gè)之后才會(huì)執(zhí)行第二個(gè)尽狠;而setTimeout()這類的函數(shù)回再開一個(gè)線程叶圃,為異步的,會(huì)等JS的主線程函數(shù)執(zhí)行完了之后沉馆,再會(huì)執(zhí)行這個(gè)線程上的函數(shù)斥黑,不會(huì)阻塞主線程眉厨。
1、自執(zhí)行函數(shù)
創(chuàng)建即執(zhí)行的函數(shù)鹿蜀,可以創(chuàng)建塊級(jí)作用域
(function(){
//..
})();
2服球、遞歸函數(shù)
自己在某些條件下調(diào)用自己的函數(shù)。如琐簇,遞歸函數(shù)來計(jì)算階乘
function calc(num){
if(num<1){
return 1;
}else{
return num*calc(num-1);
}
}
console.log(calc(4));//24 一個(gè)典型的階乘遞歸 1*2*3*4