利用JScript中运算符"||"和"&&"的特殊特性实现代码精简第2/2页

 更新时间:2007年03月08日 00:00:00   作者:  

JScript中,这些逻辑运算都是判断一个表达式是否为"有意义的" 

例如 0,"",null,false,undefined,NaN..等都是无意义的.. 

&& 会返回 true 或 false 
而 a||b 则是, 如果a是有意义的,则返回a,否则返回b 

所以有时候,我不这样写代码: 
var obj=QuerySomeObject(); 
if(obj==null)return null; 
return obj.Property; 

我会写成 
return (QuerySomeObj()||{}).Property; 
另外要注意 null 与 false 的比较. 
0 "" 等与 false 进行==比较时都是相等的. 

但是 null 则不同了. 例如 

if(!null) 

alert(1); 

if(null==false) 

alert(2); 

在Firefox测试过,结果是一样的!

相关文章

最新评论