JS中三目运算符和if else的区别分析与示例


Posted in Javascript onNovember 21, 2014

今天写了一个图片轮播的小demo,用到了判断

先试了一下if else,代码如下:
 

if(n >= count-1){

n =0;

}else{

n ++;

}

随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法
 

n = n >= (count-1) ? n=0 : n++

结果完全不同

随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值

做了如下测试:
 

var n=1;

 if(n>1){

    n=0;

}else{

    n++;

}

console.log(n);
输出结果:2

三目运算如下:
 

var n=1;

n = n>1?0 : n++;

console.log(n);

输出结果为:1

插入一段其他内容:++n和n++的区别:简单地说,都是 n 自加1。区别是,n++是执行完后面的语句才加1;而++n 就先做 n+1才执行后面的语句

那么对于++n呢

if else 语句

var n=1;

 if(n>1){

    n=0;

}else{

    ++n;

}

console.log(n);

输出结果:2

三目运算结果
 

var n=1;

n = n>1?0 : ++n; 

console.log(n); 输出结果为:2

 
可以看出if else和三目运算的区别了吧~~~
 
n++和++n在此验证中,没有任何区别,因为if else都是计算结果之后的,不会返回n,没有任何返回值
 
但是对于三目运算,n++返回的n值为n本身,++n返回的n值为n+1之后的结果

读了本文,小伙伴们是不是对js中的三目运算符和if else有了新的认识呢。

Javascript 相关文章推荐
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
js Math 对象的方法
Sep 01 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
Javascript学习笔记之相等符号与严格相等符号
Nov 23 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
Feb 17 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
redux.js详解及基本使用
May 24 Javascript
jquery中为什么能用$操作
Jun 18 jQuery
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
Nov 20 #Javascript
JS在可编辑的div中的光标位置插入内容的方法
Nov 20 #Javascript
js实现div弹出层的方法
Nov 20 #Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 #Javascript
js实现二代身份证号码验证详解
Nov 20 #Javascript
js实现网页标题栏闪烁提示效果实例分析
Nov 20 #Javascript
javascript获取flash版本号的方法
Nov 20 #Javascript
You might like
世界上第一台立体声收音机
2021/03/01 无线电
PHP 选项及相关信息函数库
2006/12/04 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
采购内勤岗位职责
2013/12/10 职场文书
村官工作鉴定评语
2014/01/27 职场文书
安全月活动总结
2014/05/05 职场文书
毕业生实习证明
2014/09/19 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
内勤岗位职责
2015/02/10 职场文书
单位领导婚礼致辞
2015/07/28 职场文书