coco

随心。。。随性。。。随行。。。

  博客园  ::  ::  ::  ::  :: 管理

关于 || 和 && 运算符

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)来验证。

 

  

  

posted on 2015-04-18 15:24  深谷&幽兰  阅读(127)  评论(0编辑  收藏  举报