原由是我要在jquery的ajax中須要根據返回值來決定是否繼續發起ajax請求,這是一個有條件的循環,符合條件就跳出。可使用while循環的,可是想了想仍是遞歸調用好用。jquery
遞歸函數大概就是這樣的。不符合條件從新執行這個函數ajax
function f() { // do something if(1){ } else{ f(); } }
js中圓括號運算符指 (),通常有兩個做用。函數
一、在函數後面表示當即執行這個函數,如 f()spa
二、計算表達式,如code
// 打印2 (1+1)
根據 ()計算表達式的做用,來計算一個函數blog
// 返回函數自己 (function(){ // do something })
根據 ()跟在函數後面表示當即執行這個函數遞歸
// 返回函數自己 (function(){ // do something })()
固然,函數須要什麼參數,()就須要傳遞什麼參數,和通常的函數執行方式同樣io
通常的,js執行順序是有序的,變量在未聲明前使用會返回undefined,可是聲明一個函數 function(){} 不一樣,能夠在聲明函數前使用它,這是由於js會把聲明函數的代碼優先執行function