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 Array数组对象的扩展函数代码
May 22 Javascript
jquery实用代码片段集合
Aug 12 Javascript
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
全面详细的jQuery常见开发技巧手册
Feb 21 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
深入学习js函数的隐式参数 arguments 和 this
Jun 24 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
Sep 21 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
nuxt配置通过指定IP和端口访问的实现
Jan 08 Javascript
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
php若干单维数组遍历方法的比较
2011/09/20 PHP
基于php缓存的详解
2013/05/15 PHP
php命令行写shell实例详解
2018/07/19 PHP
拖拉表格的JS函数
2008/11/20 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
基于jquery & json的省市区联动代码
2012/06/26 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
jQuery事件详解
2017/02/23 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Python模拟登录12306的方法
2014/12/30 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
flask应用部署到服务器的方法
2019/07/12 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python实现疫情地图可视化
2021/02/05 Python
英文版餐饮业求职信
2013/10/18 职场文书
经典英文广告词
2014/03/18 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
会议简报格式范文
2015/07/20 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
python实现简单的名片管理系统
2021/04/26 Python
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
图文详解Nginx版本平滑升级方案
2021/09/15 Servers