JavaScript的&&和||的短路运算
&&可以当做“且”、“and”,||当做“或”、“or”来理解。
使用&&的时候,只要有一个为假,则结果为假,只有全部为真的时候,结果才为真。
||相反,只要有一个为真,结果就为真,反之,只有全部为假的时候,结果才为假。
可以把&&看做是找假运算。找到假,直接停止,将假返回;找到真,则会继续找,直到找到假才停止,并将假返回。如果都为真,则返回最后一个真。
var a=0&&'abcd'&&123&&false;
console.log(a); //结果为0,因为找到第一个是0,为false,直接停止,将0返回
var b='abcd'&&0&&123&&false;
console.log(b); //结果为0,因为找到第二个是0,为false,停止查找,将0返回
var c='abcd'&&123&&true;
console.log(c); //结果为true,因为前面几个都是真,所以一直找到最后一个真才返回
可以把||看做是找真运算。找到真,直接停止,将真返回;找到假,则会继续找,直到找到真才停止,并将真返回。如果都为假,则返回最后一个假。
var d='abcd'||0||123||false;
console.log(d); //结果为abcd,因为找到第一个是字符串'abcd',为true,直接返回
var e=0||false||123||true;
console.log(e); //结果为123,因为前面两个0和false都是假,所以一直找到123才返回
var f=''||false||0;
console.log(f); //结果为0,因为前面几个都是假,所以一直找到最后一个假才返回
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。