javascript三目运算符有哪些


本文摘自PHP中文网,作者青灯夜游,侵删。

javascript只有一个三目运算符“? ... :”,可用于简单的选择结构,基本语法为“布尔表达式 ? sentence1 : sentence2”;当“布尔表达式”的值为真时,执行sentence1,否则执行sentence2。

本教程操作环境:windows7系统、ECMAScript 5版、Dell G3电脑。

javascript 三目运算符

javascript中的三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2

expression的值为真时执行sentence1,否则执行 sentence2, 请看代码

1

2

3

4

5

6

7

var b = 1,

       c = 1

       a = 2;

   a >= 2 ? b++ : b--;

   b   // 2

   a < 2 ? c++ : c--;

   c   // 0

从上面代码中,我们暂时会认为三目运算符相当于if + else(下面再详聊)

1

2

3

4

5

if(expression){

     sentence1;

  } else {

     sentence2;

  }

expression为真,即expression不为undefinedNaN0null的时候执行sentence1,否则执行sentence2

既然这样的功能和if相同,为什么还要使用它?首先,在逻辑多次判断的时候,三目运算符逻辑更简洁:

1

2

3

4

expression1 ? sentence1 :

  expression2 ? sentence2 :

  expression3 ? sentence3 :

  ...

只要任意一个expressionN的判断为真,那么sentenceN立即执行,这个判断结束,后面的任何判断不再执行。而如果我们写成if-else

1

2

3

4

5

6

7

if(expression1){

      sentence1;

   } else if(expression2){

      sentence2;

   } else if(expression3){

      sentence3;

   } ...

这样书写逻辑看起来比较心累,所以在jquery和zepto源码中,我们会大量看到三目运算符的应用。

阅读剩余部分

相关阅读 >>

javascript如何判断节点是否存在

javascript怎么判断是否为数字类型

node批量下载文件到本地的方法介绍(附代码)

javascript怎么删除表格行

请描述javascript语言特性有哪些

dom节点如何进行优化

javascript中date对象的方法有哪些

正则表达式在javascript中怎么使用?

如何解决javascript get 乱码问题

javascript如何实现时间戳转时间

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...