YUI 3 学习笔记:oop
JavaScript 是一门基于原型的面向对象语言,它是无类(class-free)的。
OOP 是 YUI 的核心代码,代码非常精简:

上面的 7 个方法,加上在 YUI~base 模块里的mix, merge, cached3 个方法,是 YUI 3 代码组织中的 10 个核心方法。
基础知识点
详细解析代码前,先复习下 JavaScript 的一些基础知识点 (阅读全文…)
JavaScript 是一门基于原型的面向对象语言,它是无类(class-free)的。
OOP 是 YUI 的核心代码,代码非常精简:

上面的 7 个方法,加上在 YUI~base 模块里的mix, merge, cached3 个方法,是 YUI 3 代码组织中的 10 个核心方法。
详细解析代码前,先复习下 JavaScript 的一些基础知识点 (阅读全文…)
YUI 3 的 loader 已经很优雅地融合在YUI(config).use('moduleName', callback)中:
YUI({
base: 'http://t-yubo/assets/yui/3.0.0/build/',
debug: true,
filter: 'debug',
modules: {
jquery: {
fullpath: 'http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js'
}
}
}).use('jquery', 'node', function(Y) {
jQuery('body').text('YUI kisses jQuery!');
});
config参数,在 yui-base 模块里,原封不动地传给了 Loader: (阅读全文…)
YUI 团队非常勤快,已经撰写了一份很详细的文档:The Get Utility. 还制作了 Cheat Sheet PDF.
上面的文档非常详细,我都不知道写什么了。下面仅说几个注意点:
1. 上面的文档中,提到的 onProgress 事件,在实际源码中还没实现。
2. 注意以下两种写法不等价:
// 写法 A:
Y.Get.script(['1.js', '2.js']);
// 写法 B:
Y.Get.script('1.js');
Y.Get.script('2.js');
写法 A 是在加载完 1.js 后,再加载 2.js, 是同步依次加载。
写法 B 是异步同时加载 1.js 和 2.js. (阅读全文…)
今天 YUI 3 发布了 beta 1, 实在是高兴。继续学习源码:queue-base.

看看下面这段代码,是否倍感亲切但又觉得很陌生呢:
.test {
background-color: black; /* firefox, opera, ie8 */
[;background-color: green;] /* safari, chrome */
*background-color: blue; /* ie7 */
_background-color: red; /* ie6 */
}
html*~/**/body .test {
border: 5px solid red; /* ie8 */
}
随着浏览器的更新换代,CSS Hack 变得越来越诡异和不可靠了-.-
相对来说,IE 的条件注释是值得信赖的 (阅读全文…)
© 2008 lifesinger.org Some rights reserved. Powered by WordPress