return 與 return false、return turn的常見用法


一: 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;終止處理,把控制權返回給頁面。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM