复制代码 代码如下:
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++的区别:
b=a++ ; 相当于 b=a ; 然后 a 自己加1
b=++a ; 相当于 a 自己加 1, 然后 b=a; (此时 a 已经先加1了)
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
n++和++n在此验证中,没有任何区别,因为if else都是计算结果之后的,不会返回n,没有任何返回值
但是对于三目运算,n++返回的n值为n本身,++n返回的n值为n+1之后的结果