·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3中或者(||)与(&&)运算相关的总结

时间:2012-09-15 20:00CuPlayer
[AS3]as3中或者(||)与(&&)运算相关的总结 1.按照运算符号优先级,先()再与再或2.与运算:要求每个表达式都返回真才为真

一、基本原则

1.按照运算符号优先级,先()再与再或。
2.与运算:要求每个表达式都返回真才为真。
3.或运算:要求有一个表达式为真就返回真。

二、按照基本原则进行逻辑运算

1.与运算:要求每个表达式都返回真才为真,所以将计算表达式直至第一个非真表达式。所以将返回第一个非真表达式的值。
2.与运算:按上述法则,假设表达式最终为非假,即没有一个非真表达式,根据第一法则,将返回最后一个表达式的值。
3.或运算:要求只要一个表达式返回真就为真,所以将计算表达式直至第一个非假表达式。所以将返回第一个非假表达式的值。
4.或运算:按第三法则,假设表达式最终为非真,即没有一个非假表达式,根据第三法则,将返回最后一个表达式的值。
5.混合运算:按照优先级分开计算。

三、测试

变量:
var a=1,b={},c=null,d=false;
其中a和b为非假表达式,c和d为非真表达式

1.表达式a && b && c && d将返回第一个非真表达式的值,即c为null。
2.表达式a && b && d && c将返回第一个非真表达式的值,即d为false。

1.表达式a && b将返回最后一个表达式的值,即b为[object object]。
2.表达式b && a将返回a为1。

1.表达式c || d将返回最后一个表达式的值,即d为false;
2.表达式d || c将返回c为null。

1.表达式a || b || c || d将返回第一个非假表达式的值,即a为1。
2.表达式b || a || c || d将返回第一个非假表达式的值,即b为[object object]。

1.表达式a && b || c && d
分解,先与运算再或运算 a && b值为b,c && d值为c。
得到 b || c,所以最终结果为第一个非假表达式b=[object object]。
2.表达式a && c || b && d
同上,得到 c || d,最终结果为d=false。
3.表达式c && a || b && d
同上,得到 c || d,最终结果为d=false。
4.表达式a || b && c || d

根据或运算的基本原则,最终得到结果a=1。
计算顺序:

1.b && c得到c=null。
2.a || null ||……因为a=1为真,将直接返回a。
注:其实这个计算顺序有待考证,第一步应该是计算了。

5.表达式c || a && b || d
计算顺序:
1.a && b得到b=[object object]。
2.c || {} || d,计算到第一个非假值,返回[object object]。
注:第一步是一定计算了。

6.表达式

……
……

综述:最终都归结到了原则与法则。

1.如果表达式中最外层有||运算,直接找第一个非假表达式,其值为最终返回值。
2.如果表达式中最外层有&&运算,直接找第一个非真表达式,其值为最终返回值。
3.如果表达式中最外层有||运算且不存在非假表达式,其值为最后一个非假表达式的值。
4.如果表达式中最外层有&&运算且不存在非真表达式,其值为最后一个非真表达式的值。
5.表达式中有()运算符,请参照法则。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器