Entries Tagged ‘YUI3’:

YUI 3 学习笔记:dom

YUI Dom 模块的层次结构很清楚:
yui-dom.png
展开的详细图:yui-dom-full.png
阅读全文 »

Tags: ,

YUI 3 学习笔记:oop

JavaScript 是一门基于原型的面向对象语言,它是无类(class-free)的。

OOP 是 YUI 的核心代码,代码非常精简:
YUI OOP

上面的 7 个方法,加上在 YUI~base 模块里的mix, merge, cached3 个方法,是 YUI 3 代码组织中的 10 个核心方法。

基础知识点

详细解析代码前,先复习下 JavaScript 的一些基础知识点 阅读全文 »

Tags: ,

YUI 3 学习笔记:loader

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: 阅读全文 »

Tags:

YUI 3 学习笔记:get

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. 阅读全文 »

Tags:

YUI 3 学习笔记:queue-base

今天 YUI 3 发布了 beta 1, 实在是高兴。继续学习源码:queue-base.

yui-quene-base.png

一点心得

  1. yui3 beta1 的 yui-seed, 与pr1 的架构图已经有了稍许不同:增加了 queue-base 模块。
  2. queue-base 的源码非常简单,就是一个包装后的数组。封装后的接口非常有 queue 的特性:add, next, size. 是一个 FIFO Queue.
  3. 插播:在 pr2 时,yui-base 的7个 submodules 是各自分开的,在 beta1 里终于合起来成为一个 module 了。yui-base 合并后的代码,各个 submodule 的闭包可以去除,有稍许优化空间。
  4. YUI 3 这种小颗粒组装的 modules,很灵活,真不错。

Tags: ,

Page 2 of 3123