关于 || 和 && 运算符
var name=(document.getElementById('txtName') || '') && document.getElementById('txtName').value;
这个是从左往右依次运算
等同于
var c=document.getElementById('txtName'); var name; if(c) { name=c.value; }else{ name=""; }
实际上着一整个运算是包含2部分,以 &&为分隔
先计算 document.getElementById('txtName') || ' '部分
即:如果Boolean(document.getElementById('txtName'))为true,则 || 后面的是不考虑的。然后计算&&后面的部分,将
document.getElementById('txtName').value的值付给 name。整体返回true;
如果Boolean(document.getElementById('txtName'))为false,则 &&后面的不参与再计算,name直接赋值为 ' ',整体返回false。
这个你可以通过alert(Boolean(name)+' '+name)来验证。