javascript 与或非运算符详解

逻辑与

注意:逻辑与操作数可以是任何类型,不仅仅是bool类型的,当其中一个操作数不是bool类型时,其返回值不一定是bool类型的。

如果一个操作数是object,另外一个操作数是bool类型的,返回bool值:

document.body && false = false;

如果两个操作数都是object,返回第二个操作数

document.body && 123 = 123; 123 && document.body = object

任意一个操作数是null,返回null

任意一个操作数是NaN,返回NaN

任意一个操作数是undefined,返回undefined

true && null = null; true && NaN = NaN; true && undefined = undefined;

逻辑或

注意:类似逻辑与一样,如果两个操作数不都是bool类型的时候,返回值不一定是bool类型的。

如果一个操作数是object另外一个是bool类型,返回object

document.body || false = object;

如果两个操作数都是object,返回第一个object

123 || document.body = 123 ; document.body || 123 = object

如果两个操作数都是null,返回null,NaN 和 undefined类似

null || null = null; NaN || NaN = NaN; undefined || undefined = undefined;

如果两个之中有一个是null或NaN或者undefined,返回另外一个操作数

null || 123 = 123; NaN || 123 = 123; undefined || document.body = object;

Copyright©歪脖博客

备案号:豫ICP备16002920号-3