ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
来源:互联网 发布:五金小助手软件 编辑:程序博客网 时间:2024/06/07 12:43
关于ExtJS对javascript中的Object的扩展,可以参考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893
下面对其中的方法进行介绍:
(1)chain,把当前传入的对象当成新创建对象的原型。
使用给定对象作为原生链返回一个新对象。
Parameters
- object : Object
创建新对象的原生链。
var obj={name:'张三',age:20}var result=Ext.Object.chain(obj);alert(result.name);//会返回张三alert(result.age);//会返回20alert(result.hasOwnProperty('name'));//会返回false
(2)each
迭代一个对象,在每个迭代上调用给定的回调函数 在回调函数中返回 false
可以停止迭代. 示例:
var person = { name: 'Jacky' hairColor: 'black' loves: ['food', 'sleeping', 'wife']};Ext.Object.each(person, function(key, value, myself) { console.log(key + ":" + value);//在浏览器控制台中打印person中的属性和值 if (key === 'hairColor') { return false; // 停止迭代 }});
Parameters
- object : Object
要迭代的对象
- fn : Function
回调函数
Parameters
- key : String
- value : Object
- object : Object
对象本身
- scope : Object (optional)
回调函数执行的 (
this
) 作用域
将查询字符串转换回对象。
不递归:
Ext.Object.fromQueryString("foo=1&bar=2"); // 返回 {foo: 1, bar: 2}Ext.Object.fromQueryString("foo=&bar=2"); // 返回 {foo: null, bar: 2}Ext.Object.fromQueryString("some%20price=%24300"); // 返回 {'some price': '$300'}Ext.Object.fromQueryString("colors=red&colors=green&colors=blue"); // 返回 {colors: ['red', 'green', 'blue']}
递归:
Ext.Object.fromQueryString( "username=Jacky&"+ "dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911&"+ "hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&"+ "hobbies[3][0]=nested&hobbies[3][1]=stuff", true);// 返回{ username: 'Jacky', dateOfBirth: { day: '1', month: '2', year: '1911' }, hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]}
Parameters
- queryString : String
要解码的查询字符串
- recursive : Boolean (optional)
是否递归的解码字符串,这种格式在 PHP / Ruby on Rails服务器中被类似地支持.
Defaults to:
false
Returns
- Object
根据指定的值,返回第一个匹配的key. 如果没有匹配的值,将返回null.
var person = { name: 'Jacky', loves: 'food'};alert(Ext.Object.getKey(person, 'food')); // 弹出警告 'loves'
Parameters
- object : Object
- value : Object
要查找的值
获取所有对象的key组成的数组
var values = Ext.Object.getKeys({ name: 'Jacky', loves: 'food'}); // ['name', 'loves']
Parameters
- object : Object
Returns
- String[]
对象的key组成的数组
获取此对象的所有自有属性的数目
var size = Ext.Object.getSize({ name: 'Jacky', loves: 'food'}); // size 等于 2
Parameters
- object : Object
Returns
- Number
size
获取给定对象所有的值组成的数组。
var values = Ext.Object.getValues({ name: 'Jacky', loves: 'food'}); // ['Jacky', 'food']
Parameters
- object : Object
Returns
- Array
对象的值组成的数组
递归的合并任意数目的对象,但是不引用他们或他们的子对象。
var extjs = { companyName: 'Ext JS', products: ['Ext JS', 'Ext GWT', 'Ext Designer'], isSuperCool: true, office: { size: 2000, location: 'Palo Alto', isFun: true }};var newStuff = { companyName: 'Sencha Inc.', products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'], office: { size: 40000, location: 'Redwood City' }};var sencha = Ext.Object.merge(extjs, newStuff);// 此时extjs和sencha等于{ companyName: 'Sencha Inc.', products: ['Ext JS', 'Ext GWT', 'Ext Designer', 'Sencha Touch', 'Sencha Animator'], isSuperCool: true, office: { size: 40000, location: 'Redwood City', isFun: true }}
Parameters
- destination : Object
所有的对象子序列将被合并到此目标对象
- object : Object...
将要被合并的任意数目对象
Returns
- Object
合并所有给定的对象到目标对象
将一个name
- value
对转换为一个对象数组,支持内部结构的转换,对构造查询字符串非常有用。 示例:
var objects = Ext.Object.toQueryObjects('hobbies', ['reading', 'cooking', 'swimming']);// objects此时等于:[ { name: 'hobbies', value: 'reading' }, { name: 'hobbies', value: 'cooking' }, { name: 'hobbies', value: 'swimming' },];var objects = Ext.Object.toQueryObjects('dateOfBirth', { day: 3, month: 8, year: 1987, extra: { hour: 4 minute: 30 }}, true); // 递归// objects此时等于:[ { name: 'dateOfBirth[day]', value: 3 }, { name: 'dateOfBirth[month]', value: 8 }, { name: 'dateOfBirth[year]', value: 1987 }, { name: 'dateOfBirth[extra][hour]', value: 4 }, { name: 'dateOfBirth[extra][minute]', value: 30 },];
Parameters
- name : String
- value : Object/Array
- recursive : Boolean (optional)
为true则递归遍历对象
Defaults to:
false
Returns
- Array
将一个对象转换成编码的查询字符串
不递归:
Ext.Object.toQueryString({foo: 1, bar: 2}); // 返回 "foo=1&bar=2"Ext.Object.toQueryString({foo: null, bar: 2}); // 返回 "foo=&bar=2"Ext.Object.toQueryString({'some price': '$300'}); // 返回 "some%20price=%24300"Ext.Object.toQueryString({date: new Date(2011, 0, 1)}); // 返回 "date=%222011-01-01T00%3A00%3A00%22"Ext.Object.toQueryString({colors: ['red', 'green', 'blue']}); // 返回 "colors=red&colors=green&colors=blue"
递归:
Ext.Object.toQueryString({ username: 'Jacky', dateOfBirth: { day: 1, month: 2, year: 1911 }, hobbies: ['coding', 'eating', 'sleeping', ['nested', 'stuff']]}, true); // 返回如下字符串(换行和url-decoded是为了便于阅读的目的):// username=Jacky// &dateOfBirth[day]=1&dateOfBirth[month]=2&dateOfBirth[year]=1911// &hobbies[0]=coding&hobbies[1]=eating&hobbies[2]=sleeping&hobbies[3][0]=nested&hobbies[3][1]=stuff
Parameters
- object : Object
要编码的对象
- recursive : Boolean (optional)
是否递归的翻译对象,这种格式在 PHP / Ruby on Rails服务器中被类似地支持.
Defaults to:
false
Returns
- String
queryString
- ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
- ExtJS学习-----------Ext.Date,Ext.Function和Ext.Error,ExtJS对javascript中的Ext.Date,Function和Error的扩展
- ExtJS学习-----------Ext.Number,ExtJS对javascript中的Number的扩展
- ExtJS学习-----------Ext.String,ExtJS对javascript中的String的扩展
- ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展
- ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展(实例)
- ExtJS对原有JavaScript对象的扩展
- ExtJS学习--------Ext.Element中的对Dom操作的方法学习(实例)
- ExtJS学习--------Ext.Element中的对操作样式的方法学习(实例)
- ExtJS学习-------Ext对Dom的操作:Ext.get Ext.fly Ext.getDom
- 对ExtJS的布局扩展
- Extjs学习 Ext.Panel
- Extjs学习 Ext.TabPanel
- Extjs学习 Ext.Panel
- ExtJS学习------Ext.EventManager
- ExtJS学习------Ext.ProgressBar
- ExtJS学习------Ext.define的继承extend,用javascript实现类似Ext的继承
- 对ExtJS的一段学习
- HDU-#1724 Ellipse(自适应Simpson法+数值积分)
- 算法之路之初出茅庐(1)
- UVa 10515 - Powers Et Al.
- IOS总结 静变量static、全局变量extern、局部变量、实例变量
- 程序员网址大全
- ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
- awk
- 求逆序数的三种数据结构比较
- STL算法归类
- 安装TortoiseGit 状态图标不能正常显示
- intellij idea常用设置
- 数据结构与算法
- 2010成都站J题 ||hdu 3718 二分图的最佳匹配 =〉 最小费用最大流
- sendBroadcastAsUser——Calling a method in the system process without a qualified user