mootools学习

一、页面引用
页头应该加入以下代码,以免ie6和ie7的解析不正确。
//html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

二、core
1.$chk()和$defined()的区别
对于'',$chk()返回false,$defined()返回true;
2.$each()和array.each()的区别
$each()性能更好。
3.$lambda(var arg)
如果arg是一个函数,就调用这个函数;如果是个值,就直接返回这个值;
如果需要建立一个简单返回值的函数,这是一个快捷方式;
4.$merge()和$extend()的区别
它们都是合并数组。接受两个参数,后面的数组的重复项覆盖前面的项。但是
a.$extend()同时将传入的第一个参数修改成最后的返回值(两者是同一个变量)。
b.$merge()可以传递多个数组。
5.$splate()
把传入的参数转换成数组。
6.$try()
接受几个函数参数,并返回第一个没有错误的函数的返回值。

二、Element
1.getElement()、getElements()和直接$$的区别 功能上$$应该都可以实现。但是前面两个执行性能更好!
2.hasClass()和match()的区别
hasClass()是直接检验有没有class,而match是通过正则表达式检验。
示例:
//html
<div id='test' class='span-4 prefix-2 clear'></div>
//javascript
alert($('test').hasclass('clear'));  //return true
alert($('test').hasclass('^span'));  //return false
alert($('test').match('.^span'));  //return true.这里不要点也可以。

Posted in mootools | Tagged | Leave a comment

mootools资源收集

Fdream的中文教程:Mootools 1.2系列教程
mootorial:mootorial
官方插件库:plugin forge
官方论坛:http://www.mooforum.net/
The Clientcide Libraries:Clientcide
一个极好的在线测试编辑器:mooshell
第三方插件资源收集:http://www.dotes.com.br/mootools/
又一个第三方插件资源收集:http://mootools.startgigant.nl/

Posted in mootools, 资源收集 | Tagged | Leave a comment

最近转看mootools了

很早听说过mootools,不过以前基本没怎么看过javascript,没太注意。后来跟风学了一点点jquery,惊诧于jquery的易用、快速和强大,以及众多的插件,就更加不会关注mootools了。
后来想玩下ria,找了好多的ria框架,却很难找到一个称心如意的。ext和zk虽然极佳,但是要收费了;jquery虽然有众多的插件,但是没有一个完备的ui插件(虽说可以自己组装一个);vegui很不错,可惜不再继续更新了,而现有版本还不完备;edojs缺少文档和lisence,估计不会是免费;dhtmlx很不错,不过有点笨重(可以继续关注);bgscript一切都很美好,遗憾的是极度缺少文档……
这时,无意间看见mochaui,真是一个极为优秀的ria框架——快速而美观。而这个框架正是基于mootools构建。唯一可惜的是,文档缺少,但是看例子程序源代码,似乎也不是特别特别的难懂。。。
于是,花了些时间看了下mootools。有时间再仔细研究下mochaui。
——————————————————————————————
发现mochaui也有段时间没有更新了。不过网上有消息说还有一个基于mootools的ria框架,原理也是通过canvas画界面,正在开发中。而且官方也做了插件的forge。
mootools,develping!

Posted in mootools | Leave a comment

博客空间有点问题

最近yo2有点不稳定,或者打不开网站,或者写了文章,发布了,在首页却看不见。说不定以后会换地方。
不过即使换了地方,都可以通过这个网址访问我的博客:http://xmblog.cz.cc

Posted in 没有分类 | Tagged | Leave a comment

2009WCG的一幕

在韩国三人包揽前三名登上领奖台的时候,在台下传来一个玩家声嘶力竭的喊声:“中国星际,加油!”并引起台下一阵掌声。

中国星际,会衰落吗?

Posted in 没有分类 | Leave a comment

2010-1-1

新一年,新气象!

Posted in 生活随记 | Leave a comment

iwind的邀请

前天,iwind在qq上找我。他说他公司招人,问我愿意不愿意去。待遇月4q到1.2w。

可惜,公司是北京的,去不了。不过很让人觉得荣幸!

又:2.x可以使用了,在部署上有很大的加强。

Posted in 生活随记 | Tagged | Leave a comment

2009-12-24

昨天出了一个小事故,所幸没出什么问题。

最近的生活习惯需要改改,走上正轨。

Posted in 生活随记 | Tagged | Leave a comment

页面级缓存和动态区块

yii有页面级缓存的功能,I-framework没见有——手册里没写。

在无意中翻看I-framework源代码的时候,意外发现:原来这个可以有!

具体代码位置在smartyview模块下,functions.php中

我的理解:

1.使用方法:

a.在_view.php中,定义:caching为1;

b.在页面中,使用:

{{if_dynamic}}

/*code here*/

{{/if_dynamic}}

2.动态区块的必要性

这里是我想了一段时间的。

首先,caching设置为1,会带来什么变化呢?

smarty应该是会将页面的输出都直接静态化了吧,即:直接缓存输出的结果(应该是直接的html吧),从而获得最好的性能。

但是,动帘卷西风态网页本身不是静态的,它需要读数据库,它会经常变动内容——如果直接缓存,会带来问题。

因此,在经常变动的地方用if_dynamic括起来,就是告诉smarty:这里的内容会变的,请保留编译的php代码,而不要缓存最后的编译结果(html)。

结论:采用caching和动态区块,可以有效地提高页面级的性能。

3.用处

仔细想想,动态区块还可以有更大的一个用处:使用助手类将不需要担心性能问题。

例如:

我可以做一个xm:autoloader的标签,自动导入assets/auto下的js和css文件,在制作时带来方便。不过在通常情况下这样做是不好的:因为每次显示页面的时候,需要搜索目录,带来io上性能的开销,不划算。

但是如果我打开caching开关,进行页面级缓存,而在xm:autoloader周围不用动态区块包起来——那么,smarty会直接缓存输出的结果,再访问的时候不会有io的开销了。

当我给assets/auto目录添加或者删除文件,这是缓存已经失效了,怎么办呢?这时直接清空页面缓存就可以了。

因此, 我可以做很多助手类,方便开发,而不需要担心性能的损失!

4.一个建议

开发 的时候(特别是初期)可以考虑先把caching开关关掉(即不用写),在实际运作的时候打开。

Posted in I-framework | Tagged | Leave a comment

2009-12-15

正在整理bgscript,有机会把整理成果做成图发出来。

后勤的朱师傅人很好。不过今天他说的一句话,让我郁闷了好久——怎么可以这样说嘛。。。

地产板块受到利空打压,今天全线调整。我的000632正处在关键位置,也只好顺势调整。现在最重要的问题是,相当一部分权重地产股处于破位的边缘。一旦继续破位下行,大盘将会受到很大的拖累。而银行虽然最近也有资金炒作,但是很多也临近破位。大盘要上攻,不要求权重股一定要怎么涨,但是企稳是起码的。短期形势很不容乐观。明天如果地产不启动,先出部分或清仓观望。

谢天谢地谢亚龙,信神信鬼信兰成。

想注册个博客,专门写文章。

感觉很烦。

Posted in 生活随记 | Tagged | Leave a comment