google closure 学习笔记
文章平均质量分 86
lihongxun945
膜拜大牛
展开
-
google closure 笔记-类和继承相关
closure中使用的类是构造函数加原型的组合继承方式,在构造函数中定义属性,在原型上定义方法。因为属性是私有的,方法是公用的。 1,非引用类型实例属性的默认值: 一般来讲,当在构造函数中没有给某一属性赋值的时候,会使用默认值。此处有一个技巧: 给定一个域实例属性同名的类属性并取默认值,如果在构造函数中没有给实例属性赋值,则根本不用创建此实例属性。默认使用共享的类属性。(注意是非引用类型才可原创 2012-10-11 17:06:17 · 2163 阅读 · 0 评论 -
google closure 笔记-事件框架
Event事件框架 Event 类: 事件对象,在事件监听中的回调函数中传递的参数e就是这个类的实例。 如果想在事件中传递参数,则应该写一个子类继承Event,然后把传递的参数作为属性添加到event上。 这个类也有静态方法。 源码解析: 继承Disposable。有三个属性:type,target,currentTarget. 1,构造函数Event(type, opt_target原创 2012-10-11 17:08:51 · 3686 阅读 · 0 评论 -
google closure 笔记-命名空间,依赖关系,calcdeps.py,closurebuilder,depswriter
命名空间和依赖关系: 每一个js文件头部都应该用goog.provide和goog.require来声明自己提供的类和需要依赖的类。 goog.provide()工作原理: 根据'.'来分割字符串,然后创建对象,实际上级和下级的命名空间的关系就是对象和属性的关系比如: goog.provide("demo.Example"); 实际上执行了一下操作: var demo = goog.g原创 2012-10-11 17:13:56 · 3418 阅读 · 0 评论 -
google closure 笔记-SOY template
一 使用js模板 closure template 目前支持java和js。但是模板语法的设计不依赖于任何现成的语言,所以理论上可以支持任何语言,只是暂时只有java编译器。 使用js模板:编写模板文件 .soy文件,然后用一个java编写的编译器将其编译为js文件,这个编译好的js文件会提供一个函数来输出模板内容, 只需要引入这个js文件然后在js中调用这个函数就可以得到模板的内容(内容是原创 2012-10-11 17:19:23 · 5402 阅读 · 0 评论 -
google closure 笔记-AutoComplete
四个组件 AutoComplete 主要有四部分组成: AutoComplete: 核心部分,负责存储数据(所有的数据/状态都是在这里保存的),调用其他四个组件。 macher:负责匹配用户的输入和所有的提示数据,返回匹配后的提示数据。 InputHandler:负责操作输入框:获取用户的输入,对特定的key调用ac的相应事件(如方向键移动),将自动补全的数据填入输入框。inputhand原创 2012-10-11 17:24:58 · 1306 阅读 · 0 评论 -
google closure 笔记-client-server数据交互,XhrIo,Uri
1,goog.net.XmlHttp 此类的作用是,根据当前的浏览器环境,创建一个正确的XMLHttpRequest/ActiveXObject 对象(这个是原生的对象)。 同时定义了goog.net.XmlHttp.ReadyState ,其中分别定义了readystate 0-4的名字。 此类是一个基础类,作用是为其他类提供一个可以跨浏览器的XHR对象,因此不建议直接使用此类原创 2012-10-11 17:28:29 · 1702 阅读 · 0 评论 -
google closure 笔记-UI Component
goo.ui.Component Component主要提供了一个功能:定义了一个ui组件的生命周期 1,生命周期: Component定义了一个ui组件的基本生命周期如下图所示: 创建一个组件有两种方法:render 和 decorate 区别在于:使用render方法,dom结构由rendeer方法负责创建(也就是用js来创建dom);decrote方法不会创建dom结构,而原创 2012-10-11 17:31:22 · 2893 阅读 · 0 评论