我试图评估一些事情。我粘贴了第一个父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);
}
}
答案 0 :(得分:1)
请记住||
是逻辑OR运算符(kind-of),
if(edpb != null || edpb != ' ')
无论edpb
是什么,始终都不等于null
或不等于' '
。也就是说,它既不是null
也不是' '
,否则它将是其中之一而不是另一个。
如果if
不是edpb
或null
,那么您真正想要的是执行' '
部分,这可能是:
if (edpb != null && edpb != ' ')