1. 逻辑非(!)
如果一个操作数是一个对象,返回的是true.
如果一个操作数是一个空字符串,返回的是false.
如果一个操作数的是一个非空字符串,返回的是false.
如果一个操作数是一个数值0, 返回的是false.
如果一个操作数是任意的非零字符,返回的是true.
如果一个操作数是null.返回的是false.
如果一个操作数是NaN,返回是的是false.
如果一个操作数是undefined,返回的是true.
2.逻辑并&&
如果表达式两边都是布尔值,逻辑比较简单,只要要有一个的值为false就要返回false;
对于不是布尔值的情况比较复杂,
如果第一个操作数是对象,则返回第二个数,
如果第二个操作数是对象,则在第一个操作数的求值结果为true的情况下才返回该对象.
如果两个操作数都是对象的情况下,则返回第二个操作数.