嵌套如果没有运行

时间:2015-05-22 18:20:34

标签: javascript

我试图评估一些事情。我粘贴了第一个父if语句和嵌套if / else的代码。出于某种原因,当满足父项的条件时,它总是使用嵌套的if而不是转到else。即使它不符合if标准,它仍然会运行该段代码。

var setmeow = new Date();
var meow = nlapiDateToString(setmeow);
if(!Result[i].getValue('custcol_ram_billing_end_date') ){
    var edpb = Result[i].getValue('custcolram_last_rental_billed')
    if(edpb != null || edpb != ' ') {                       
        var daysbetwenced = days_between(nlapiStringToDate(Result[i].getValue('custcol_ram_billing_start_date')), setmeow);
        record.setCurrentLineItemValue('item', 'quantity', daysbetwenced+1);
        //record.setCurrentLineItemValue('item', 'custcol_ram_billing_start_date', Result[i].getValue('custcol_ram_billing_start_date'));
        record.setCurrentLineItemValue('item', 'custcol_ram_billing_end_date', meow);
        record.setCurrentLineItemValue('item', 'custcolram_last_rental_billed', meow);
    } else {
        var daysbetweennoend = days_between(nlapiStringToDate(Result[i].getValue('custcolram_last_rental_billed')), setmeow);
        record.setCurrentLineItemValue('item', 'quantity', daysbetweennoend+1);
        record.setCurrentLineItemValue('item', 'custcol_ram_billing_start_date', Result[i].getValue('custcolram_last_rental_billed'));
        record.setCurrentLineItemValue('item', 'custcol_ram_billing_end_date', meow);
        record.setCurrentLineItemValue('item', 'custcolram_last_rental_billed', meow);
    } 
}

1 个答案:

答案 0 :(得分:1)

请记住||是逻辑OR运算符(kind-of),

if(edpb != null || edpb != ' ')

无论edpb是什么,始终都不等于null或不等于' '。也就是说,它既不是null也不是' ',否则它将是其中之一而不是另一个。

如果if不是edpbnull,那么您真正想要的是执行' '部分,这可能是:

if (edpb != null && edpb != ' ')