这几天一直在忙于抢火车票回家的事,感觉好久没有看看代码,写写程序,读读博文,长长知识啦,玩了一上午的12306,骂了一上午的破网站后,下午终归决定好好学习一会。哇咔咔,在电脑上发呆了半天,不知道该干嘛,做什么呢,大脑短路。。。翻看博客,想起那些需要完成的伟大的框架学习任务,于是乎,选择了Swiz这个东东。
网上资料不是很多,但也要花费不少时间呢。看别人说都不怎么用的东西啦,还看干嘛?是呀,我是不是在浪费时间,以后工作也不一定用的到啊,要不要看,丝丝犹豫后,简单翻看了几段源码。。行,不错,结构挺好,还有日志记录呢,一直感慨java语言中有开源的日志记录包,AS里面没有,那我就趁机会好好读一读,是不是就是我自己的东西啦。
搜噶,尼玛,看着看着发现,掉到底层的日志记录事件,AS3里面也有?查找帮助文档,还真的在。是自己孤陋寡闻不知道罢了,哎,大悲剧呀。基础知识薄弱...恶补吧。
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
Swiz框架里面为什么要重新定义一套自己的日志记录呢?为什么不适用AS3中原生的日志呢?我想应该是害怕在升级的过程中更改,造成Swiz框架的不可用,亦或者是觉得原生的使用起来不是很友好,所以自己重新定义了一套。
还发现了一个好玩的写法:
var loggers:Dictionary;
loggers ||= new Dictionary();
---------------------------------------------------------------------------------------------------------
将 expression1 || expression2
的值赋予 expression1
。例如,下面两个语句是等效的:
x ||= y; x = x || y;操作数
expression1:* — 任何类型的值。 | |
expression2:* — 任何类型的值。 |
* — 如果这两个操作数都是 Boolean 数据类型,则为布尔值。否则,结果将为任一表达式的值。 |
以下示例将一个默认值赋予先前声明的名为
myVar
的变量。此方法基于以下事实:如果
expression1
的计算结果为
true
,则逻辑 OR (
||
) 运算符返回
expression1
的值;否则,返回
expression2
的值。如果
myVar
中已经包含了计算结果为
true
的值,
myVar
将不变。然而,如果
myVar
包含
null
、
""
(空字符串)和
undefined
等计算结果为
false
的值,则将值
"default"
赋予
myVar
。
myVar ||= "default";
懂了,这样还省去了是否为空的判断呢。好处就是代码简洁,缺点就是不易懂,至少对于第一次见到的人要反思一下,没有if/else判断是否为空清晰明了。
加油,2014。