杂谈,生活随笔

7 篇文章 0 订阅
6 篇文章 0 订阅

这几天一直在忙于抢火车票回家的事,感觉好久没有看看代码,写写程序,读读博文,长长知识啦,玩了一上午的12306,骂了一上午的破网站后,下午终归决定好好学习一会。哇咔咔,在电脑上发呆了半天,不知道该干嘛,做什么呢,大脑短路。。。翻看博客,想起那些需要完成的伟大的框架学习任务,于是乎,选择了Swiz这个东东。

网上资料不是很多,但也要花费不少时间呢。看别人说都不怎么用的东西啦,还看干嘛?是呀,我是不是在浪费时间,以后工作也不一定用的到啊,要不要看,丝丝犹豫后,简单翻看了几段源码。。行,不错,结构挺好,还有日志记录呢,一直感慨java语言中有开源的日志记录包,AS里面没有,那我就趁机会好好读一读,是不是就是我自己的东西啦。

搜噶,尼玛,看着看着发现,掉到底层的日志记录事件,AS3里面也有?查找帮助文档,还真的在。是自己孤陋寡闻不知道罢了,哎,大悲剧呀。基础知识薄弱...恶补吧。

---------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------

Swiz框架里面为什么要重新定义一套自己的日志记录呢?为什么不适用AS3中原生的日志呢?我想应该是害怕在升级的过程中更改,造成Swiz框架的不可用,亦或者是觉得原生的使用起来不是很友好,所以自己重新定义了一套。

还发现了一个好玩的写法:

var loggers:Dictionary;
loggers ||= new Dictionary();


新颖啊,虽然意思能理解,但第一见到啊,好神奇的写法。API文档中如下介绍:

---------------------------------------------------------------------------------------------------------

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值