Google Closure 学习笔记-1

基础结构

  1. Closure的库结构和文件夹结构相对应,因此需要查找某个命名空间对应的文件时,可以按照库结构来查找。
  2. Closure的基本方法都在base.js中,因此需要先在文档中首先引用base.js。
  3. Closure中使用goog.provide(namespace)来定义命名空间。因此一种好的做法是,只定义一个全局命名空间,其他所有functions作为这个对象的属性。这种做法的好处是,所有的名称都集合在了一起,同时在使用多个库的情况下,避免了和其他库的命名空间冲突。
  4. 每一个命名空间都需要使用goog.require()来请求。
  5. goog.partial()和call()的不同在于,goof.partial()中,参数会被直接传递到function内执行。
  6. 在Closure中,object、function、array、string、number、boolean、Null、undefined都有对应的goog.isXXX()来进行判断。
  7. goog.isDef(value) 当value != undefined时返回true,null也是返回true。

各个主要的命名空间

  1. goog.string 包含了对string的处理,主要是string的转义。

  2. goog.array 包含了对数组的操作。

  3. goog.object 包含了对象操作。

  4. goog.json 包含了json的解析和序列化。

  5. goog.dom 包含了DOM元素的获取和操作。

  6. goog.dom.classes 包含了DOM元素的CSS类处理。

  7. goog.userAgent 检测用户useragent。

  8. goog.userAgent.product 检测用户浏览器。

  9. goog.style 包含了DOM元素的CSS样式的获取和设置。

  10. goog.function 包含了function的构建。

  11. goog.events 事件相关的方法。

  12. goog.ui UI控件。

涉及到的一些主要的方法。