YUI2.8相关核心源码浅解及学习笔记(零)
上班前这几天得学习下公司的核心框架之一YUI2.8了,这个框架的确和以前专门用的jQ有很大的不同,代码量上去了,但设计模式等方面是相当优雅,粗略学习了下API和源码架构~~写一下对于YUI核心的一些东西学习的笔记摘要。(小弟写的不好~~轻拍)
零、Yahoo全局文件
首先从核心文件yahoo.js开始:
核心文件主要是定义了yahoo一些全局的方法:
1. YAHOO.namespace
这个方法是用于自定义命名空间的,当然框架已经定义好三个了:
这边继续是经典的类式继承(具体什么是类式继承看我上面的注释,犀牛书上也有),不过写的更加的细致,第三个传入是需要重写的属性,在子类的原型中添加这些属性。
这里注意相对于2.4版本,这边的2.8对于上面的对象以设置别名L,在下面定义:YAHOO.util.Lang = L;L.augment = L.augmentProto;YAHOO.augment = L.augmentProto;YAHOO.extend = L.extend;
5、YAHOO_config 和 YAHOO.env
下面引自官方解释翻译:
YAHOO.env 包含了页面中所加载的所有YUI组件的信息,任何组件都可以使用 YAHOO.env.getVersion 来访问到这些信息,当动态加载YUI组件的时候这个方法就特别有用,因为可以查看版本检测依赖关系。
YAHOO_config是一个对象,你可以在它上面定义一个回调函数,这样每当页面中加载一个新的YUI组件的时候,这个回调函数就会自动执行,并且会传送给它一个包含了组件信息的对象。
貌似写的太长了,分几篇写吧。。。。。第二篇DOM