一: 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;终止处理,把控制权返回给页面。