这几天一直在忙于抢火车票回家的事,感觉好久没有看看代码,写写程序,读读博文,长长知识啦,玩了一上午的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。

本文探讨了Swiz框架的特点及其日志记录机制,并对比了AS3内置的日志记录功能。作者通过实际阅读源码的方式,分享了Swiz框架的设计理念,特别是其日志系统的独特之处。
1万+

被折叠的 条评论
为什么被折叠?



