一、页面引用
页头应该加入以下代码,以免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 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
|
| 编辑
最近yo2有点不稳定,或者打不开网站,或者写了文章,发布了,在首页却看不见。说不定以后会换地方。
不过即使换了地方,都可以通过这个网址访问我的博客:http://xmblog.cz.cc
Posted in 没有分类
|
Tagged 我的博客
|
| 编辑
在韩国三人包揽前三名登上领奖台的时候,在台下传来一个玩家声嘶力竭的喊声:“中国星际,加油!”并引起台下一阵掌声。
中国星际,会衰落吗?
前天,iwind在qq上找我。他说他公司招人,问我愿意不愿意去。待遇月4q到1.2w。
可惜,公司是北京的,去不了。不过很让人觉得荣幸!
又:2.x可以使用了,在部署上有很大的加强。
Posted in 生活随记
|
Tagged 生活
|
| 编辑
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 I-framework
|
| 编辑
正在整理bgscript,有机会把整理成果做成图发出来。
后勤的朱师傅人很好。不过今天他说的一句话,让我郁闷了好久——怎么可以这样说嘛。。。
地产板块受到利空打压,今天全线调整。我的000632正处在关键位置,也只好顺势调整。现在最重要的问题是,相当一部分权重地产股处于破位的边缘。一旦继续破位下行,大盘将会受到很大的拖累。而银行虽然最近也有资金炒作,但是很多也临近破位。大盘要上攻,不要求权重股一定要怎么涨,但是企稳是起码的。短期形势很不容乐观。明天如果地产不启动,先出部分或清仓观望。
谢天谢地谢亚龙,信神信鬼信兰成。
想注册个博客,专门写文章。
感觉很烦。
Posted in 生活随记
|
Tagged 生活
|
| 编辑