&&和||(讨论两个操作数不都是布尔值的情况)
&&:
如果第一个操作数是对象,那么返回第二个操作数
如果第二个操作数是对象,只有在第一个操作数为true的情况下才会返回该对象
如果两个操作数都是对象,那么返回第二个操作数
如果有一个操作数是null,那么返回null
如果有一个操作数是NaN,那么返回NaN
如果有一个操作数是undefined,那么返回undefined
||:
如果第一个操作数是对象,那么返回第一个操作数
如果第一个操作数的求值结果为false,那么返回第二个操作数
如果两个操作数都是对象,那么返回第一个操作数
如果两个操作数都是null,那么返回null
如果两个操作数都是NaN,那么返回NaN
如果两个操作数都是undefined,那么返回undefined