大家好,今天来介绍js三元表达式怎么写(js中三目运算符和if else的区别分析与示例)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!
js中 o = o ;是什么意思呢
o = o {} 表示:如果o为null或undefined,则搏枯将o初始化空对象(即{}),否则o不变。目的是防止o为null或未定义的错误。
其中:表高信示或操作,第一个条件为真,则结果为真而不需要执行第二个条件;基念洞否则执行第二个条件,等价于以下代码:
if(o)
o=o;
else
o={};
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 下面是案例实际运行的截图,左边是代码,右边是结果:
JavaScript运算符实例详解
根据处理对象的数目:
单元运算符;
二元运算符;
三元运算符。
根桥氏睁据功能:
赋值运算符;
=
+=
-=
*=
/=
%=(取余)
算术运算符;
+
–
*
/
%(取余)
++(递增)
–(递减) -
例1:
<BR>Script<br />var x = 11;<br />var y = 5;<br />with (document) {<br />write("x = 11, y = 5");<br />write("LIx + y 是 ", x + y);<br />write("LIx - y 是 ", x - y);<br />write("LIx * y 是 ", x * y);<br />write("LIx / y 是 ", x / y);<br />write("LIx % y 是 ", x % y);<br />write("LI++ x 是 ", ++ x);<br />write("LI-- y 是 ", -- y);<br />}<br />/Script<br />
[button value=”复制代码”]例2:
<BR>Script<br />var x = y = 3;<br />with (document) {<br />write("x = 3, y = 3 br");<br />write("若x = y++ 运算之后:");<br />x = y++;//y→x,y+1→y<br />write("x 是 ", x, "; y 是敏岁 ", y, "br");<br />write("再作x = ++y 运算:");<br />x = ++y;//y+1→x,y+1→y<br />write("x 是 ", x, "; y 是 ", y);<br />}<br />/Script
[button value=”复制代码”]字符串运算符;
+
+=
比较运算符;
==
!=
===(值及类型)
!==(值及类型)
=
=
例:
<BR>Script<br />var x = 5; //x 是数值5<br />var y = '5'; //y 是字符串5<br />var z = 6; //x 是数值6<br />with (document) {<br />write("x = 5, y = '5', z = 6");<br />write("LIx == y 吗?", x == y);<br />write("LIx === y 吗?", x === y);<br />write("LIx != y 吗?", x != y);<br />write("LIx !== y 吗?", x !== y);<br />write("LIx = z 吗?", x = z);<br />write("LIy = z 吗?", y = z);<br />//类型自动转换<br />}<br />/Script
[button value=”复制代码”]逻辑运算符;
!
例1:
<BR>Script<br />var t = true;<br />var f = false;<br />with(document) {<br />write("OLLItrue<br />true 的结果是 ", t<br />t);<br />write("LItrue<br />false 的结果是核袜 ", t<br />f);<br />write("LIfalse<br />true 的结果是 ", f<br />t);<br />write("LIfalse<br />false 的结果是 ", f<br />f);<br />write("LItrue<br />(1==1) 的结果是 ", t<br />(1==1));<br />write("LIfalse<br />'A' 的结果是 ", f<br />'A');<br />write("LI'A'<br />false 的结果是 ", 'A'<br />f);<br />write("LItrue<br />'A' 的结果是 ", t<br />'A');<br />write("LI'A'<br />true 的结果是 ", 'A'<br />t);<br />write("LI'A'<br />'B' 的结果是 ", 'A'<br />'B');<br />//:有一个不是逻辑值,只要第一个操作数的值为flase,则返回第一个操作数的值flase,否则,返回第二个操作数的值<br />}<br />/Script
[button value=”复制代码”]例2:
<BR>Script<br />var t = true;<br />var f = false;<br />with(document) {<br />write("OLLItrue true 的结果是 ", t t);<br />write("LItrue false 的结果是 ", t f);<br />write("LIfalse true 的结果是 ", f t);<br />write("LIfalse false 的结果是 ", f f);<br />write("LItrue (1==1) 的结果是 ", t (1==1));<br />write("LIfalse 'A' 的结果是 ", f 'A');<br />write("LI'A' false 的结果是 ", 'A' f);<br />write("LItrue 'A' 的结果是 ", t 'A');<br />write("LI'A' true 的结果是 ", 'A' t);<br />write("LI'A' 'B' 的结果是 ", 'A' 'B');<br />//:有一个不是逻辑值,只要第一个操作数为的值true、字符或非零的数字,则返回第一个操作数的值,否则,返回第二个操作数的值<br />}<br />/Script
[button value=”复制代码”]例3:
<BR>Script<br />with(document) {<br />write("LI!true 的结果是 ", !true);<br />write("LI!false 的结果是 ", !false);<br />write("LI!'A' 的结果是 ", !'A');<br />write("LI!0 的结果是 ", !0);}<br />/Script
[button value=”复制代码”]逐位运算符;
特殊运算符。
1、new运算符:创建对象(实例)
格式:对象名称=new 对象类型(参数)
2、this运算符:表示当前对象
格式:this[.属性]
例:
<BR>Script<br />function validate(obj) {<br />alert("你输入的值是:"+ obj.value);<br />} /Script<BR>请输入任意字符:BR<br />INPUT TYPE="text" onKeyup="validate(this)"
[button value=”复制代码”]3、条件运算符:三元运算符
格式:条件表达式 ? 第一个值:第二个值
例:
<BR>NS = (document.layers) ? 1 : 0;<br />IE = (document.all) ? 1: 0;<br />window.screen.width800 ? imgheight=100:imgheight=100<br />window.screen.width800 ? imgleft=15:imgleft=122<br />Script<br />function showSex() {<br />onOroff = document.forms[0].sex[0].checked<br />status = (onOroff)? "帅哥" : "美女"<br />alert("Hello! " + status)<br />}<br />/Script<BR>请输入你的性别:<br />FORM onClick=showSex()<br />INPUT TYPE=radio NAME=sex男生<br />INPUT TYPE=radio NAME=sex女生<br />/FORM<br />
[button value=”复制代码”]
冒号:后可以写多条语句吗JS中三元运算符
三元运算符格式:
逻辑式?逻辑为真的表蚂碧达式:逻辑为假的表达式;
必须按照上述格式来写,冒号后面就闷让举是滑毁逻辑表达式为假得时候的语句,只能放一个表达式。
JS中变量后面有个问号是什么意思
这个是三元操作符,它在每一种语言中的功能和语法都是一样的。
举例:int a=3;int b=5;
int c= a>b?1:0;
解释:a大于的话中瞎,c就等于1,否则的话c等于0;
?是判断的意思,: 是否则的意思。
三元操作符格式
如名字表示的三元运算符需要三个操作数。
语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如卖此空某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。
参考资扒销料来源:-三元运算符
最新评论