将函数结果分配给变量

时间:2020-08-08 02:07:28

标签: javascript function

我有这个功能:

function validateVip(){ 
    $("table[id=table-pss] tbody tr").each(function() {
        var keval = $(this.cells[4]).find('input');
        var data = $(keval[0]).val();
        console.log("result: " + data);
        console.log(data.includes([vip]));
        var x;                      
        if ((data.includes([vip])) == true)
        {
            x = "yay";
            console.log("Vip Exists");                          
        }
        else
        {
            x = "nay";
            console.log("No VIP");
        }                       
        return x;
  });
}

每当我调用它时,它总是返回“ undefined”。 这是我如何调用函数validateVip

var isVip = validateVip();
            console.log("is vip:" + isVip);

有人可以告诉我我做错了什么吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

x的值由传递给$().each的回调返回,该回调不执行任何操作

您需要在上限范围内定义变量x

function validateVip() {
    var x;
    $("table[id=table-pss] tbody tr").each(function() {
        var keval = $(this.cells[4]).find('input');
        var data = $(keval[0]).val();
        console.log("result: " + data);
        console.log(data.includes([vip]));

        if ((data.includes([vip])) == true) {
            x = "yay";
            console.log("Vip Exists");
        } else {
            x = "nay";
            console.log("No VIP");
        }
    });
    return x;
}

请注意,x等于上一次分配的项目,使用each进行迭代