Ext是Ext js的命名空间 为Ext js提供唯一的全局对象,这样不仅有利于代码的维护 也避免了与其他代码的冲突.
Ext的定义包含在Ext.js和Ext-more.js这两个文件中,这两个文件包含了Ext js的一些基本的定义 基本的属性和方法以及四个重要的方法:apply,applyIf,override和extend
方法Apply和ApplyIf是将所有配置对象的成员复制到对象 在使用Apply时 无论配置对象中的成员是否已在object对象中 都会进行复制 这样就会存在问题 从而造成不是开发人员预期的效果 这个时候 就需要使用applyif了
在Ext4.0之前的版本中,所有类及用户自定的扩展基本都是使用extend方法定义的,但是在Ext js4.0之后 Ext对类系统进行了重新架构 所以除了个别类外 基本上所有的类都是使用define方法来定义的 所以 就不在推荐使用Extend方法。
在开发的时候 我们有时会需要判断数据是何种类型的 Ext js为我们提供了一套完成的数据及其类型检测
1.typeOf:用来检测变量的类型 示例代码:Ext.typeOf(v) 其中v是要检测的变量
2.isEmpty:检测值是否为空 示例代码:Ext.isEmpty(v,allowEmptyString) v是要检测的值,allowEmptyString默认值为false 表示不允许空字符串 当返回值为true时 表示值为空 反之表示不为空
3.isObject:检测值是否为JavaScript对象 如果是 则返回true 反之 则返回false
4.isIterable:检测值是否可以迭代 如果值是可迭代的 则返回true
5.isFunction:检测是否是函数
6.isArray:检查是否是数组
7.isDate:检查是否为日期对象
8.isPrimitive:检测是否是javaScript的基本数据类型
9.isNumber和isNumeric检测是否为数字,两者的区别在于isNumber检查的是数据类型 而isNumeric检测的是值
如11.1通过isNumber检测为false 而isNumeric检测则为true
10.isString:检查值是否是字符串
11.isBoolean:检查值是否为布尔值
12.isElement:检查值是否是元素
13.isTextNode:检查值是否为文本节点
14.isDefined:检查值是否以定义
下面,在提供一些常用的方法
1.Ext.Iterate(object,fn,scope):对数组或对象进行迭代 之中object是指要进行迭代操作的数组活对象 fn是要进行迭代操作的函数 scope是作用域 该方法没有返回值
2.Ext.Clone(Item):可以克隆数组、对象、dom节点和日期等数据 避免保持旧的指向
3.Ext.id([el,prefix])产生id值 el和prefix都是可选参数 el是指要添加id的元素,prefix是指id的前缀,如果说el已经有id则返回id
4.getBody返回当前doucument对象的body元素
5.getHead返回document对象的head元素
6.getDoc:返回document对象
7.destory:删除对象及其事件 从dom中删除节点 如果对象村子啊destory 执行它
8.urlAppend:为Url追加查询字符串
为了扩展JavaScript原有的语言功能 方便数据处理 Ext JS提供了Ext.Date、Ext.Number、Ext.String、Ext.Error、Ext.Object、Ext.Function和Ext.Array七个对象。
Ext.Object中的静态方法:
1.ToQueryObjects将对象转换成数组 Ext.Object.toQueryObjects(name,object[,recursive]); 其中 name是字符串 数组中子对象的关键字 object是要转换的对象 数组 字符差U呢活其他类型的数据;recursive是可选参数,决定是否执行递归 默认值是false 不执行递归 此方法返回转换后的数组。
2.toQueryString(object[,recusive]}):其中object是要转换的对象 recursice是可选参数 决定是否使用递归 默认是不使用递归,方法返回编码后的查询字符串
3.fromQueryString(String[,recursive]);将查询字符串解码转换为对象 其中 String是要转换的字符串,recursive是可选参数,决定是否使用递归 此方法返回转换后的对象