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
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
相关文章推荐
- 双目运算符&&和||
- javaScript 运算符 && 和 || 的返回值
- JavaScript系统学习之一 <基本语法,运算符,流程控制语句>
- js双目运算符"&&"和"||"的运算方向
- (转)Javascript 的|| 和&& 运算符的精简用法
- Javascript "==" 运算符原理
- JavaScript中二元运算符 && 和 ||
- 妙用Javascript运算符“||”和“&&”
- Javascript 按位与运算符 (&)使用介绍
- javascript运算符:==与===的区别,||和&&特殊用法
- javascript中boolean的类型转换,运算符&&和|| 的返回值
- 你不知道的javascript之运算符||和&&
- JavaScript 入门·JavaScript 具有全范围的运算符
- Javascript 按位与运算符 (&)使用介绍
- JavaScript基础之数据类型转换 、运算符 &表达式
- JavaScript运算符优先级——"++,--,&&,||“
- 编写可维护的JavaScript—语句和表达式&变量、函数和运算符
- Javascript中&&和&,||和|运算符两个不同点
- (javascript进阶) 运算符“||”和“&&”的巧妙用法
- Javascript || && 运算符