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 相关文章推荐
jQuery 无限级菜单的简单实例
Feb 21 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
JavaScript实现找质数代码分享
Mar 24 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
JS中Array数组学习总结
Jan 18 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 Javascript
Node.js 的模块知识汇总
Aug 16 Javascript
vue通信方式EventBus的实现代码详解
Jun 10 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
javascript实现留言板功能
Feb 08 Javascript
原生JS实现烟花效果
Mar 10 Javascript
浅析JavaScript 函数防抖和节流
Jul 13 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
vuex的简单使用教程
2018/02/02 Javascript
JS随机密码生成算法
2019/09/23 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
shell程序中如何注释
2012/01/28 面试题
2014升学宴答谢词
2014/01/26 职场文书
领导班子对照检查材料
2014/09/22 职场文书