词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
seo如何研究竞争对手的推广策略?
通常我们在竞价日常工作中,忽略了竞争对手,从而导致整个竞价推广[详细]
微软发布Office 2019正式版
9月25日消息 微软在今天早些时候正式发布了Office 20[详细]
做自媒体,每个月究竟能赚多少钱?
做自媒体可以赚钱,这是众所周知的,从几百到几千,最后到几万[详细]
华住个人信息泄露案告破
9月19日消息 根据华住集团官网的消息,9月17日,华住集[详细]
教你辨别原装和杂牌苹果充电器
  为什么同样是充电器原厂和山寨的价格会差这么多,难道就真[详细]
解决网 >>所属分类 >> 程序开发    JavaScript   

JavaScript三元运算符的使用

标签: JavaScript

顶[0] 发表评论(0) 编辑词条

三元运算符其实是很方便很好用的一种条件判断方法,这个方法可以使调用或渲染数据时逐级筛选。不仅如此,如果适当的扩展三元运算符的逻辑,这个判断方法还会很好玩,也可以在某种情景下提高代码效率。有人会说,三元运算符只适合一些简单的判断场景,其实并不然! www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

目录

语法编辑本段回目录

www.solves.com.cn 电脑百科

我们先来看一下三元运算符的最基本的语法:

www.solves.com.cn 电脑百科

条件表达式?True:False   

www.solves.com.cn 电脑百科

这是三元运算符最基本的语法结果,首先`?`前是一个条件表达式,`?`后面的即是逐级执行的条件,如果条件为真值时,`?`后面的一个事件将被触发,否将会触发下一个事件。这个结构类似于:

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

if(条件表达式){  

  //True  

}else{  

  //False  

}   www.solves.com.cn 电脑百科 


www.solves.com.cn 电脑百科

运用编辑本段回目录

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

实践才是一切开始的必要条件,下面我们就通过实际需求运用一下三元运算符。三元运算符其实和if...else...的原理基本无差,三元运算符能实现的其实if...else...也能实现,但是存在即合理,他能在有些需求更方便的做条件判断。 www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

比如你要给一个变量赋值的时候,需要按照不同条件赋予不同值的时候,比如我们有两种状态,不同状态下要赋给变量不同的值,我们可以对比下三元运算符和if...else...的写法

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

//三元运算符  

var status = (type==1?'已售':'未售')  

  

//if...else...  

if(type==1){  

  var status = '已售'  

}else{  

  var status = '未售'  

}   www.solves.com.cn 电脑百科 


www.solves.com.cn 电脑百科

对比一下这两种写法,很明显的三元运算符的条件判断写法代码量更简洁,而常用的if...else...判断则显得有点臃肿,而且也不够优美。

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

拓展编辑本段回目录

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

如果你认为,只有在这种简单的条件判断下才能用到三元运算符,那你就大错特错了,三元运算符也能在一些复杂的场景下运用,那我们就通过三元运算符来模拟if...else if..else...的判断模式

www.solves.com.cn 电脑百科

我们再拓展一下之前的那个简单的条件表达式,比如,现在我们还是两种状态码,但是有一种状态码里还有一种不同的情况存在,我们通过三元运算符来实现一下: www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

//简单的条件判断  

var status = (type==1?'已售':'未售')  

  

//拓展的条件判断  

var status = (type==1?(agagin==1?'再售':'已售'):'未售')   
www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

上面拓展的条件判断里实现了if...else if...else...的写法,我们通过if...else if...else...来是实现一下,以方便理解: www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

if(type==1 && again==1){  

  var status='再售'  

}else if(type==1 && again==0){  

  var status='已售'  

}else{  

  var status='未售'  

}  www.solves.com.cn 电脑百科 

 

www.solves.com.cn 电脑百科

那我们可以换一个角度来看三元运算符,我们上面一个拓展的条件判断可以分解为两个条件表达式,第一个是type==1,第二个就是again==1,也就是说,只是表达式的条件判断为真值时,就会执行该判断`:`前的一个事件,所以当第一个条件表达式判断后还会执行下一个判断。 www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

进阶编辑本段回目录

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

我们按照这种方式理解三元运算符后,就可以猜想到,这个条件表达式里其实不单单是一个判断或者一个结果,也可以是函数,毕竟JavaScript本就是函数式编程的脚本语言。比如: www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

check()?Ture:False  

status==1?True():False()   

www.solves.com.cn 电脑百科


www.solves.com.cn 电脑百科

有了函数的加入,那三元判断的拓展空间也就更强了。你们可以举一反三的试试看,还有没有更有趣的写法加入到三元运算符。 www.solves.com.cn 电脑百科


 

 

本文地址:解决网 http://www.solves.com.cn/doc-view-4802.html

TAGS:SOLVES , 电脑技术 , 电脑知识 , 网站建设, 电脑技术, 网络营销 , 网站托管 , 硬件技术 , 网络技术 , 软件技术, 维修网点

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇苹果封杀加密货币!
下一篇职场:你靠什么在单位立足?

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的电脑技术问题词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>