在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ js 方法中return不是不往下執(zhí)行了嗎,怎么還會執(zhí)行

js 方法中return不是不往下執(zhí)行了嗎,怎么還會執(zhí)行

$scope.add = function(){
    $(".showdetailsadd input").each(function () {
        console.log( $(this).parent().find(".colr").length == 1 && $(this).val() == "" )
        if ($(this).parent().find(".colr").length < 1 && $(this).val() == "") {
            nonull = $(this).siblings().find("span").eq(0).text();
            console.log(nonull);
            return false;
        }
    })
    if (nonull) {
        console.log(nonull);
        $scope.XHRmessage_show = nonull + "輸入有誤或未輸入";
        $scope.message_show_f = true;
        $timeout(function () {
            $scope.message_show_f = false;
        }, 2000)
        return false;
    }
}

為什么進到if ($(this).parent().find(".colr").length < 1 && $(this).val() == "")條件中,已經(jīng)return了,還是會進到if(nonull)條件中,

望大佬指導

回答
編輯回答
孤慣

return跳出當前函數(shù),你仔細看一下each方法,跳出的只是each其中一個回調(diào)函數(shù),而不是each方法本身。

2017年9月17日 09:46
編輯回答
萌吟

你在if ($(this).parent().find(".colr").length < 1 && $(this).val() == "")條件中只是跳出了 $(".showdetailsadd input").each()的循環(huán),并沒有終斷函數(shù),所以跳出循環(huán)繼續(xù)執(zhí)行了

$scope.add = function () {

    $(".showdetailsadd input").each(function () {

        console.log($(this).parent().find(".colr").length == 1 && $(this).val() == "")
        if ($(this).parent().find(".colr").length < 1 && $(this).val() == "") {
            nonull = $(this).siblings().find("span").eq(0).text();
            console.log(nonull);
            return false;            // 跳出當前$(".showdetailsadd input").each()的循環(huán), 并不是函數(shù)的return
        }
    })

    //繼續(xù)往下執(zhí)行

    if (nonull) {
        console.log(nonull);
        $scope.XHRmessage_show = nonull + "輸入有誤或未輸入";
        $scope.message_show_f = true;
        $timeout(function () {
            $scope.message_show_f = false;
        }, 2000)
        return false;
    }

}
2018年1月15日 01:35
編輯回答
氕氘氚

兄弟一個函數(shù)里面的return只能結(jié)束當前函數(shù)在這里就是

function () {
        console.log( $(this).parent().find(".colr").length == 1 && $(this).val() == "" )
        if ($(this).parent().find(".colr").length < 1 && $(this).val() == "") {
            nonull = $(this).siblings().find("span").eq(0).text();
            console.log(nonull);
            return false;
        }
    }
    

建議看下JS的書。JS這門語言了解不夠。

2017年3月17日 18:24
編輯回答
離殤

在jquery的each()里用return false; == 正常forbreak;
break;只是跳出循環(huán),不會結(jié)束方法

2018年7月28日 15:27
編輯回答
話寡

把 each 換成 every 然後再想停止的時候 return false

2017年7月10日 20:45