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 鼠标拖动图标技术
Feb 07 Javascript
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
javascript中eval解析JSON字符串
Feb 27 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
vue元素实现动画过渡效果
Jul 01 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
layui 实现自动选择radio单选框(checked)的方法
Sep 03 Javascript
vue+element导航栏高亮显示的解决方式
Nov 12 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 adodb介绍
2009/03/19 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
用PHP代码给图片加水印
2015/07/01 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
Stop SQL Server
2007/06/21 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
Js中async/await的执行顺序详解
2017/09/22 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
Vue 实现简易多行滚动"弹幕"效果
2020/01/02 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Python发展史及网络爬虫
2019/06/19 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
如何利用python生成MD5并去重
2020/12/07 Python
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
2014年团员学习十八大思想汇报
2014/09/13 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Pytorch可视化的几种实现方法
2021/06/10 Python
Java 多线程并发FutureTask
2022/06/28 Java/Android