宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

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

2016-10-13 00:16:48 点击量:7 标签: 收藏本文

一、基本原则

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.表达式中有()运算符,请参照法则。

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室