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 相关文章推荐
setAttribute 与 class冲突解决
Feb 17 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
浅谈javascript中return语句
Jul 15 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
jQuery实现平滑滚动的标签分栏切换效果
Aug 28 Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 Javascript
ElementUI中el-tree节点的操作的实现
Feb 27 Javascript
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
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生成PDF方法详解
2015/01/23 PHP
php中curl使用指南
2015/02/05 PHP
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
python中的函数用法入门教程
2014/09/02 Python
详解Python中for循环的使用方法
2015/05/14 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Python操作qml对象过程详解
2019/09/26 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
幼儿园大班毕业感言
2014/02/06 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
艺术节主持词
2014/04/02 职场文书
宣传普通话标语
2014/06/27 职场文书
教师节倡议书
2014/08/30 职场文书
2016年母亲节寄语
2015/12/04 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL