三目运算符的陷阱

原创 2016年08月29日 11:18:30

分析:上面这个用了三目运算符的表达式,判断条件是_timeData.startTime > 0 ,有时候定式思维就会造成我们直接把后面选项里的第一项空掉,以为条件为真,就会选择_timeData.startTime。
           但实际上不是的,?号前的表达式实际上是一个整体,整个表达式为真就会选择整个表达式为第一个选项,如果你不写第一个选项,那么就会默认把判断条件整个表达式作为返回值;整个表达式是假,就会选第二个表达式。所以,这个表达式,如果不写第一个选项,而判断条件又为真,那么最终返回结果就不是一个时间值,而是bool值yes。
版权声明:本文为博主原创文章,未经博主允许不得转载。

If-else 三目运算符 底层实现 效率差异

读完文章后自己的一个小结: 在没有编译器优化的情况下三目运算符比If-else快,因为三目运算符还会使用额外的临时变量,它先运算后复制,If-else是直接赋值,所以速度会快,但是现在的编译器已经会...
  • cFarmerReally
  • cFarmerReally
  • 2017年01月17日 15:57
  • 2468

JavaScript 之条件(三目)运算符

条件运算符 条件运算符是 ECMAScript 中功能最多的运算符,它的形式与 Java 中的相同。 variable = boolean_expression ? true_value : fa...
  • yuanmei1986
  • yuanmei1986
  • 2015年12月28日 20:07
  • 17994

js中的三目运算符详解

判断javascript中的三目运算符用作判断时,基本语法为expression ? sentence1 : sentence2 当expression的值为真时执行sentence1,否则执行...
  • sysuzhyupeng
  • sysuzhyupeng
  • 2017年02月08日 22:56
  • 14463

你真的会用三目运算符吗?

写在前面: 三目运算符是我们经常在代码中使用的,a= (b==null?0:1); 这样一行代码可以代替一个 if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范...
  • u013068377
  • u013068377
  • 2017年01月21日 22:17
  • 18997

C++基础---三目运算符

1. 三目运算符 1.1 三目运算符的定义 三目运算符:计算机C/C++的重要组成部分。条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。 三目运算符:是软件编程中的一个固定格式为?...
  • cainv89
  • cainv89
  • 2015年08月15日 18:45
  • 3741

三目运算符与ifelse

总结:三目运算符从代码角度多了代码,但是运行速度不只是与代码量有关,三目运算符从运行角度,速度是比 if else快的!  以下摘自搜索哦! 今天写了一个图片轮播的小demo,用到了判断 先...
  • Wall_E6
  • Wall_E6
  • 2015年05月07日 19:06
  • 768

Python中的三目运算符

一般支持三目运算符的语言(如C语言)的语法格式一般是这样的:判断条件(返回布尔值)?为真时的结果:为假时的结果比如:x = x%2==1 ? x+1:x;python并不支持? :这种符号所表达的先判...
  • lanchunhui
  • lanchunhui
  • 2015年12月10日 13:10
  • 8154

Java 中的三目运算符

写在前面: 三目运算符是我们经常在代码中使用的,a= (b==null?0:1); 这样一行代码可以代替一个 if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运...
  • u013063153
  • u013063153
  • 2015年11月10日 09:52
  • 1042

JAVA 基础语法(三)——三目(条件)运算符以及分支语句

三目(条件)运算符以及分支语句 三目运算符 分支语句 if if…else if…else if switch 三目(条件)运算符1)语法结构(boolean表达式)?(表达式1):(表达式2) 2...
  • qq_34598667
  • qq_34598667
  • 2017年06月07日 11:15
  • 413

三目运算符和逗号表达式

三目运算符(? :) 格式如下: A ? B : C 其等价于: if  (A) B; else C; 例如: # include int main(void) { i...
  • u012421456
  • u012421456
  • 2014年01月29日 13:10
  • 1732
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三目运算符的陷阱
举报原因:
原因补充:

(最多只允许输入30个字)