您的位置:首页 > Web前端 > JavaScript

javaScript 双目运算符 && 高阶篇

2014-03-10 16:01 274 查看
初学javascript的时候对运算符&&了解而不深,不明白其精髓,随着对javascript的语言慢慢的深入,发现高手灵活运动&&等符号到如此地步,自己随笔总结一下。

1. 首先做个实验:

console.log( false&&'byebye' ); //false

console.log( true&&'byebye' ); //byebye

console.log( false || 'byebye' ); //byebye

console.log( true || 'byebye' ); //true

需要明白的原理是: &&和||都遵循短路原理,例如&&中第一个表达式为真那么不处理第二个表达式,而||相反。

注意:在&&中如果第一个表达式为真时则返回第二个表达式的值而不会强制转换为布尔型

而 | | 的第一个表达式为假则返回第一个表达示的值而不会强制转换为布尔型

2. &&与|| 的进阶

例如有下面一段代码:

if( o.item > 0 ){

abs = functionA( );

}

那么用&&可以这样写: o.item > 0 && (abs = functionA( ) )

这样只需一行代码搞定,简化代码的同时带来的风险是降低了代码的可读性,建议向如此代码多加注释便于维护。

转载自:http://hi.baidu.com/yafengyouxia/item/8fea072495cc4cd6a517b684
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: