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数组处理多个字符串的连接问题
Aug 20 Javascript
jquery中.add()的使用分析
Apr 26 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
js阻止事件追加的具体实现
Oct 15 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
Mar 27 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
使用 Node.js 对文本内容分词和关键词抽取
May 27 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
Three.js基础学习之场景对象
Sep 27 Javascript
vue实现配置全局访问路径头(axios)
Nov 01 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的垃圾回收机制详解
2013/10/28 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[05:05]第三天的dota2
2013/07/29 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
Python快速排序算法实例分析
2017/11/29 Python
Django中的ajax请求
2018/10/19 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
大学英语演讲稿范文
2014/04/24 职场文书
投标保密承诺书
2014/05/19 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
消防验收申请报告
2015/05/15 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS
解析Java异步之call future
2021/06/14 Java/Android