今天写了一个图片轮播的小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
读了本文,小伙伴们是不是对js中的三目运算符和if else有了新的认识呢。