&&;JavaScript中的运算符前置

&&;JavaScript中的运算符前置,javascript,Javascript,这种情况根本不会被评估。这是检查所有值是否为空的方法。试试: if(e.FN === ' ' && e.GN === ' ' && e.LN === ' ' && e.DB === ' '){ 现在您正在检查这些值是否都等于一个空格。===不仅比较值,而且确保它们是相同的类型。但是,如果e.FN为null,则e.FN==''和e.FN===''都将始终返回false if(e.FN === null && e.GN === nul

这种情况根本不会被评估。这是检查所有值是否为空的方法。

试试:

if(e.FN === ' ' && e.GN === ' ' && e.LN === ' ' && e.DB === ' '){

现在您正在检查这些值是否都等于一个空格。===不仅比较值,而且确保它们是相同的类型。但是,如果e.FN为null,则
e.FN==''和e.FN===''
都将始终返回false

if(e.FN === null && e.GN === null && e.LN === null && e.DB === null){  
或者更好的是,如果您不关心它们是否为null、未定义或0,您可以这样做

if(e.FN === null && e.GN === null && e.LN === null && e.DB === null)

要检查所有值是否为空,应执行以下操作:

if(e.FN && e.GN && e.LN && e.DB)

如果第一个值不为null,javascript不会计算其他条件,因为如果第一个条件为false,则不可能所有条件都为true。

什么是“从不计算条件”?你的意思是,它从不计算为true?如果(!e.FN&&&!e.GN&&&!e.LN&!e.DB){…},可能需要使用
@Aleks如果他想计算所有的操作数,那么使用一个&就行了。if(e.FN==null&e.GN==null&e.LN==null&e.DB==null)更具可读性。
if(e.FN === null && e.GN === null && e.LN === null && e.DB === null){