案例1:
var a = 0;
var b = null;
alert(a||b);
结果:null
案例2:
var a = 0;
var b = 2;
alert(a||b);
结果:2
案例3:
var a = 2;
var b = 0;
alert(a||b);
结果:2
案例4:
var a = 2;
var b = 3;
alert(a||b);
结果:2
在JS中我们有这个规定:在逻辑运算中,0、""、false、null、undefined、NaN均表示false,其他表示true。
以上四个案例,分别表示a为假b为假,a为假b为真,a为真b为假,a为真b为真的情景。
案例1——a假b假:返回b的值;
案例2——a假b真:返回b的值;
案例3——a真b假:返回a的值;
案例4——a真b真,返回a的值。
由此可以发现结论:若a、b(a、b指 || 两边的数)都为假,返回后面的值;若a、b为一真一假,返回真对应的值;若a、b都为真,返回第一个值。
此结论同样适用于 a || b || c ... || g ||...
韩顺平老师总结的结论为,比我的更加简洁:|| 将返回第一个不为false那个值或对象(对象知识还没学习,因此上面未对对象的返回值讨论),或是最后一个值(如果全部都是false的话)