JS中三目运算符和if else的区别分析与示例

如题所述

1 if() else()和 三目运算符两个写法不一样,但是表达的意思是一样的,实际开发中比较简单的会用三目运算符,大多数的逻辑判断还是用if()else()因为清晰明了,有利于开发人员读懂程序。

2 语法格式的不同 :

三目运算符语法格式: 

表达式A?表达式1:表达式2       意思是说表达式A(就是?前面的部分)是成立的话,就执行表达式1的部分,如果不成立的话就执行表达式2的部分。

if() else()的语法: 意思就是说如果表达式A条件成立的话就执行 代码部分1 如果 表达式A条件不成立的话 执行代码部分2

if(表达式A){

//执行代码部分1

} else {

//执行代码部分2

}

3 语法格式和具体的意思了解了,下面用实际的代码来掩饰,这里用的Java代码: System.out.print(c>0?a:b)  ;和 

if(c>0) {

System.out.print(a)  ;

} else {

System.out.println(b)  ;

}

这两段代码表达的意思是一样的。

public class HelloWorld {

public static void main(String []args) {

int a=1;

int b=2;

int c=0;

System.out.print(c>0?a:b)  ;//三目运算符 c>0条件成立执行输出a

if(c>0) {

System.out.print(a)  ;

} else {

System.out.println(b)  ;

}

}

}

3 下面是案例实际运行的截图,左边是代码,右边是结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-24
今天写了一个图片轮播的小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
相似回答