首页 > Web开发 > 详细

JS中三目运算符和if else的区别,你弄得明白吗

时间:2014-11-20 10:13:05      阅读:228      评论:0      收藏:0      [点我收藏+]

今天写了一个图片轮播的小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的区别,你弄得明白吗

原文:http://www.cnblogs.com/ranzige/p/4109860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!