一: return 表達式
作用是:結束函數執行,並將“表達式”最為結果返回給調用函數。
var test = function (){ var a = 0; if(a){ console.log(a); return false; }else{ console.log(a); }; console.log("執行了!"); return “結束”; }; console.log(test());
當a=0時,控制台輸出:
0
執行了!
結束
當a =1 時,控制台輸出:
1
false
二、return false 和return用於結束循環。
1、用return結束for循環。
var arr =['a','b','c','d','e']; var test = function (){ for(var i =0; i<arr.length;i++){ console.log(arr[i]); if(i==2){ console.log("循環結束"); return ; }; }; console.log('執行了'); return "結束"; } console.log(test());
控制台輸出:
a
b
c
循環結束
undefined
注:return或者return false都可以結束函數里面的for循環,且函數不再往下執行。不同的是,前者返回undefined,后者會返回false。
2、用return false 結束jquery中 $.each()循環。
var arr =['22','23','24','25','26']; var obj={param1:'shade',param2:arr,param3:20}; var test = function(){ function aa (){ $.each(obj,function(key,value){ if(key == "param2"){ var arrbew = value; for(var i =0; i<arrbew.length;i++){ console.log(arrbew[i]); if(i==2){ console.log("循環結束"); return false; //如果只寫成 return;那么會控制台還會輸出param3。相當於只結束了for循環,而each循環仍然要繼續執行。 }; }; } console.log(key); }); }; aa(); return"結束"; }; console.log(test());
控制台輸出:
param1
22
23
24
循環結束
結束
3、其他例子
var arr =['22','23','24','25','26']; var obj={param1:'shade',param2:arr,param3:20}; var test = function(){ function fun1 (){ $.each(obj,function(key,value){ if(key == "param2"){ var arrbew = value; for(var i =0; i<arrbew.length;i++){ console.log(arrbew[i]); if(i==2){ console.log("循環結束"); return false; }; }; } console.log(key); }); console.log("調用fun2:"+ fun2()); return false };
function fun2(){ return "函數2執行了" };
function fun3(){ console.log("函數3!"); };
fun1(); fun3(); return"結束"; }; console.log(test());
控制台輸出:
param1
22
23
24
循環結束
調用fun2:函數2執行了
函數3!
結束
在這個例子中,fun1返回return false,但是並不影響函數fun3的執行,因為在test()函數里面調用a()函數,a()函數返回return false對於test()函數來說,只相當於返回值,不能阻止test()函數執行。
總之:總之:return false 只在當前函數有效,不會影響其他外部函數的執行。
三、return false,用於取消默認的事件行為。
在js中return false可以用來取消默認的事件行為,例如,默認情況下點擊一個元素,頁面會跳轉到該元素href屬性指定的頁. 如果你只想觸發你的“onclick”事件,那你可以return false阻止頁面跳轉。
四、總結:
retrun true; 返回正確的處理結果。往下執行。
return false;返回錯誤的處理結果;結束循環終止處理;阻止提交表單;阻止執行默認的行為。
return;終止處理,把控制權返回給頁面。