Ext 4 概述(三)之Env命名空间 & 语言增强包 & Ext.Function

Env命名空间

提供浏览器和操作系统的相关信息,还有告诉我们现代浏览器提供了什么功能。

Ext.env.Browser

该类提供了全部浏览器的元信息(名称、引擎、版本、是否 Strict 模式等等。

Ext.env.FeatureDetector

这是一个在 Ex JS 3 中没有类,完全新的功能,其功能在于检测浏览器特性如何,主要针对现代 HTML5 和 CSS3 的特性,包括移动平台在内的特性列表,有:

  • CSS 变形、动画、转换
  • Canvas、SVG、VML
  • 触控能力、方向
  • 导航 Geolocation
  • SqlDatabase
  • Websockets
  • History
  • Audio
  • Video

Ext.env.OS

提供当前主机操作系统的信息(包括移动 OS 的列表)。

语言包(Lang Package)

同样的功能在Ext中都会有,但这是一个新的包,之所以定义为一个新的包,是为了尽量不会影响到 JavaScript 的对象原型。尽管在对象原型中设置方法会比较方便,但是如果引入了其他 JavaScript 一起,很难说会不会构成冲突或者影响的说。再者,如果日后 ECMAScript 规范作出了修订,会不会与 Ext JS 所定义的构成重叠呢?所以,要解决以上顾虑,我们还是把语言方法的命名空间定义在 Ext 对象之下,避免在对象原型身上定义的成员。

实际上虽然没有分配一个“lang”的这么一个命名空间,但是还是在源码树(Source Tree)中划分了一份文件专门定义语言增强函数。前后变化如下:

  • Array → Ext.Array
  • Date → Ext.Date
  • Function → Ext.Function
  • Number → Ext.Number
  • Object → Ext.Object
  • String → Ext.String

请注意在兼容化文件中,仍会对核心对象的原型挂载方法之引用。重申一下,要真正升级到 Ext JS 4并摆脱 Ext JS 3 旧的调用方式,就必须移除兼容化文件,最后升级到新的命名空间形式。

Ext.Function

Ext JS 4 的函数原型 Function prototype 改变后,怎么调用?最主要的一点就是命名上发生变化,如 Function.createDelegate() 和 Function.createCallback() 分别重命名为 Ext.Function.bind() 和 Ext.Function();Function.defer() 变化为 Ext.Function.defer()。由于使用频率较高,我们在 Ext 对象上添加了快捷访问方式,便是 Ext.bind()、Ext.pass()
和 Ext.defer();其余的函数方法像 createSequence() 和 createInterceptor() 就取消了,但引入新方法 createBuffered() 和 createThrottled(),可以看看有什么用途。

如下是一些语法糖说明前后之变化:

// Ext 3:
myFunction.createDelegate(this, [arg1, arg2]);
myFunction.defer(1000, this);

// Ext 4:
Ext.bind(myFunction, this, [arg1, arg2];
Ext.defer(myFunction, 1000, this);

时间: 2024-09-25 20:08:29

Ext 4 概述(三)之Env命名空间 & 语言增强包 & Ext.Function的相关文章

Ext 4 概述(一)

For both extjs and ext core Ext 4概述 Summary: Ext4概述 Author: Brian Moeskau (译者Frank Cheung ) Published: 2011年三月二十九号 Ext Version: Ext 4.x Languages: Chinese   Ext 4有志诚成为Web程序其革命性的开发平台.框架中的每一个首要的组件几乎都作了改善,而且属于相当大幅度的改善.对于Ext3来说--4.0许多组件以及子系统都是表现得焕然一新!本指南

WCF的三个名称/命名空间,你是否傻傻分不清楚?

在定义和寄宿WCF服务的时候会面临三个名称/命名空间,它们分别是ServiceContractAttribute.ServiceBehaviorAttribute和Binding的Name和Namespace属性,很对人对此不能很好地区分. 一.ServiceContractAttribute的名称/命名空间 每个服务契约都有一个确定的名称,当在一个接口或类上应用了ServiceContractAttribute特性,默认的名称就是接口或类的名称.我们可以通过Name属性显式地指定需要的名称,这

Ext 4 概述(五)之布局Layout、组件Component、Form

Layout 参考资源 Ext 4 Layouts (video) Ext 4 Layouts (slides ComponentLayout ComponentLayout是一种新型的布局方式,许多复杂的组件就采用这种布局(与之对应的为ContainerLayout,"ContainerLayout"--传统基于容器布局的新名字)来计算内置元素的大小尺寸,以响应resize的调用.Field字段组件的FieldLayout布局,关于labell控件和input元素控件的大小尺寸和定位

Ext 3.0新增内容系列文章之三:DWR的替代品Ext.Direct

上一期的内容谈了DataWriter,实质是与DataReader相对应的产物.今期咱们讲Ext.Direct的内容,无论DataWriter还是Ext.Direct我们都可以先检查一下官方所提供的例子,结合本文,加深理解.   Ext.Direct的目的在于提供一个无缝的通讯流(streamline)介乎于客户端和服务端之间,形成一种单一的接口,从而使得我们减少一些乏味的编码,例如数据的验证和出来返回的数据包(读数据.错误条件等等).Ext.direct命名空间下有若干的类是为了与服务端更密切

输入三个同学的c语言成绩与java成绩,并将成绩保存到一个“chengji.txt”的文件中.

问题描述 输入三个同学的c语言成绩与java成绩,并将成绩保存到一个"chengji.txt"的文件中. 编写一个程序,要求从DOS控制台以提问对话的形式,输入三个同学的c语言成绩与java成绩,并将成绩保存到一个"chengji.txt"的文件中. 创建一个Student学生类,其中域变量包括name,age,javaScore和cScore: 创建一个TestChengji类,在main主方法中分别创建三个对象数组: Student []stu=new Stud

Ext 4 概述(四)之 ARIA、Data、Draw、Fx

Ext JS 参考资源 Intro to Ext 4 (video Ext 4 Architecture (video) 通用问题 适配器(Adapters) 之前的各个Ext版本中都可以透过使用适配器(adpaters)的方式转换第三方的JavaScript库为我所用.Ext4的话就没这支歌仔唱了.改朝换代后,Ext JS应用程序的底层库唯一限定为Ext Core.不过我们依然可以继续让Ext Core与别的JS库共存于一个JS运行时(实际上这就是为什么一些JavaScript对象其原型的方法

VNX OE Block R5.3.2和VNX OE File V7.1数据保护和系统管理概述(三)

VNX OE Block R5.3.2和VNX OE File V7.1数据保护和系统管理概述,文章转载自EMC中文支持论坛. 解决方案: 文件级保留(FLR)是一项EMC VNX系列软件功能,可在指定保留日期之前保护文件不被修改或删除.使用文件级保留,您可以通过NFS或CIFS操作将数据归档到标准可擦写磁盘上的FLR存储中.FLR使您能够创建一组不可更改的永久性文件和目录,并确保数据的完整性.   有二种不同类型的文件级保留可供使用:企业(FLR-E)和法规遵从性(FLR-C).   ·  F

Ext 4 概述(二)之Ext Core

Ext Core 新型类系统 参考资源 Ext JS 4的倒数:动态加载和新的类机制(上) Ext JS 4的倒数:动态加载和新的类机制(下) Ext JS 4 的类机制主要围绕传统OO模型而设计,弥补了Prototype OO不足.虽然性质上仍为模拟的手段,但包含了比较完整的OO特征,并且保持对旧Ext3类机100%兼容.Ext JS 4(连同 Ext Core)提供的新功能有: 继承方面Ext.defined代替了原来Ext.extend的写法. 自动计算依赖关系及动态类加载. 多态 静态成

SAP技术概述(三)

ESA (Enterprise Service Architecture) 简单的说, ESA是SAP 基于SOA(Service Oriented Architecture)的概念.主要目的通过WebService, 进一步提高SAP各业务系统间的统一性, 可重用性, 建议更方便的http://www.aliyun.com/zixun/aggregation/13476.html">业务流程开发模式.主要手段为: 建立以Service为中心的开发模式. 因为service相对于组建或者其