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 相关文章推荐
JS option location 页面跳转实现代码
Dec 27 Javascript
javascript中的继承实例代码
Apr 27 Javascript
Jquery 选中表格一列并对表格排序实现原理
Dec 15 Javascript
JavaScript String.replace函数参数实例说明
Jun 06 Javascript
jquery实现文字由下到上循环滚动的实例代码
Aug 09 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
BootStrap Fileinput上传插件使用实例代码
Jul 28 Javascript
Vue.js devtool插件安装后无法使用的解决办法
Nov 27 Javascript
AngularJS集合数据遍历显示的实例
Dec 27 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 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
用文本文件制作留言板提示(下)
2006/10/09 PHP
php 获取本地IP代码
2013/06/23 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
实例讲解PHP表单处理
2019/02/15 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python url 参数修改方法
2018/12/26 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python实现壁纸下载与轮换
2020/10/19 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
学习之星事迹材料
2014/05/17 职场文书
单位作风建设自查报告
2014/10/23 职场文书