美文网首页
三木运算符 与 if ... else

三木运算符 与 if ... else

作者: sunnyRube | 来源:发表于2018-06-20 11:06 被阅读8次

if(n >= count-1){

n =0;

}else{

n ++;

}

随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法

n = n >= (count-1) ? n=0 : n++

结果完全不同

随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值

做了如下测试:

varn=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才执行后面的语句

var n=1;

a = n>1?0 : n++;

b = n

console.log(a, b);

输出结果为:1,2

那么对于++n呢

if else 语句

var n=1;

if(n>1){

    n=0;

}else{

    ++n;

}

console.log(n);

输出结果:2

三目运算结果

varn=1;

n = n>1?0 : ++n;

console.log(n); 

输出结果为:2

可以看出if else和三目运算的区别了吧~~~

n++和++n在此验证中,没有任何区别,因为if else都是计算结果之后的,不会返回n,没有任何返回值

但是对于三目运算,n++返回的n值为n本身,++n返回的n值为n+1之后的结果

相关文章

网友评论

      本文标题:三木运算符 与 if ... else

      本文链接:https://www.haomeiwen.com/subject/tabtyftx.html