Rumah  >  Artikel  >  hujung hadapan web  >  javascript中 三目运算符 和 if else 用法有什么区别?

javascript中 三目运算符 和 if else 用法有什么区别?

伊谢尔伦
伊谢尔伦asal
2017-07-19 09:24:461494semak imbas

先试了一下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之后的结果。

Atas ialah kandungan terperinci javascript中 三目运算符 和 if else 用法有什么区别?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn