网站制作学习网经验与学习→正文:asp,php,javascript三元运算
字体:

asp,php,javascript三元运算

经验与学习 2010/3/16 15:13:55  点击:不统计


经常用到三元运算符,asp,phpjavascript三元运算符比较一下,有什么缺点优点,又是怎么计算的.
首先asp是没有三元运算符的,只能是自己写一个比较函数,当作三元运算.
<%
Dim a,b,c,d,e
a = 3
b = 4
c = 5
d = 6
Function sanyuan(flag,c,d)
If flag then
sanyuan = c
Else
sanyuan = d
End if
End Function
e = sanyuan(CBool(a>b),c,d)
repsonse.write e'输出6,a>b为假,则返回d
%>
其次是php的三元运算符:条件?true结果:false结果;
举例
<?php
define (a,5);
define (b,2);
define (c,6);
define (d,4);
define (e,9);
$f = a>b?a:c;
echo $f;//输出的是5
$f = a>b?a:c>d?c:d;
echo $f;//输出6
?>
为什么上面弄了两个输出呢,第一个很简单,就是一个简单的三元运算.如果a>b则f=a否则f=c,通过计算f=a即得到5.
关键是第二个云散是怎么得到6的呢,查看php手册的三元运算,三元运算的结合方向是从左到右的.那么看上面的判读首先如果a>b?a:c得出一个结论5得出来的5再与d(值4)进行比较,显然是真,则最后结果是f=c,得到6.这一点非常重要.谨记!!!!!

最后看javascript中的三元运算,javascript的三元运算跟php的基本一样,差别在多个运算结合方向上,php的是从左到右,而javascript是从右到左.javascript的一元运算符、赋值运算符、三元运算符的结合性是从右到左的;
<script language="javascript">
var a=5,b=2,c=6,d=4;
var e = a>b?c:d;
alert(e);//输出6
var e = a>b?a:c>d?c:d;
alert(e);//输出5
</script>
上面的运算,第一个很容易理解,解释一下第二个:javascript三元运算符是从右向左的,所以先看后面的三元运算c>d?c:d; 得出来6,再算a>b?a:6,得出来e=a.即输出5
三元运算不简单啊,理解并牢记.


·上一篇:世界10大最贵域名 >>    ·下一篇:怎样在网页中实现上下标 >>
推荐文章
最新文章