ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
时间:2023-01-13阅读:31来源:柠檬博客作者:柠檬博客
关于ExtJS对javascript中的Object的扩展。能够參考其帮助文档,文档下载地址:
以下对当中的方法进行介绍:
(1)chain,把当前传入的对象当成新创建对象的原型。
object )
使用给定对象作为原生链返回一个新对象。
Parameters object :创建新对象的原生链。
实例:
var obj={ name:'张三', age:20 } var result=Ext.Object.chain(obj); alert(result.name);//会返回张三 alert(result.age);//会返回20 alert(result.hasOwnProperty('name'));//会返回false(2)each
fn, [ scope] )
迭代一个对象,在每一个迭代上调用给定的回调函数 在回调函数中返回 false 能够停止迭代. 演示样例:
name: 'Jacky' hairColor: 'black' loves: ['food', 'sleeping', 'wife'] }; (person, function(key, value, myself) { console.log(key + ":" + value);//在浏览器控制台中打印person中的属性和值 if (key === 'hairColor') { return false; // 停止迭代 } });Parameters object :
要迭代的对象
fn :回调函数
Parameters key : value : object :对象本身
scope : (optional)回调函数运行的 (this) 作用域
(3)fromQueryStringqueryString, [ recursive] ) :
将查询字符串转换回对象。
不递归:
("foo=&bar=2"); // 返回 {foo: null, bar: 2} ("some%20price=%24300"); // 返回 {'some price': '$300'} ("colors=red&colors=green&colors=blue"); // 返回 {colors: ['red', 'green', 'blue']}
递归:
"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 :
要解码的查询字符串
recursive : (optional)是否递归的解码字符串,这样的格式在 PHP / Ruby on Railsserver中被类似地支持.
Defaults to: false
Returns (4)getKeyvalue )
依据指定的值。返回第一个匹配的key. 假设没有匹配的值,将返回null.
name: 'Jacky', loves: 'food' }; alert((person, 'food')); // 弹出警告 'loves'Parameters object : value :
要查找的值
(5)getKeysobject ) : []
获取全部对象的key组成的数组
name: 'Jacky', loves: 'food' }); // ['name', 'loves']Parameters object : Returns []
对象的key组成的数组
(6)getSizeobject ) :
获取此对象的全部自有属性的数目
name: 'Jacky', loves: 'food' }); // size 等于 2Parameters object : Returns
size
(7)getValuesobject ) :
获取给定对象全部的值组成的数组。
name: 'Jacky', loves: 'food' }); // ['Jacky', 'food']Parameters object : Returns
对象的值组成的数组
(8)merge... object ) :
递归的合并随意数目的对象。可是不引用他们或他们的子对象。
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 = (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 : ...将要被合并的随意数目对象
Returns合并全部给定的对象到目标对象
(9)toQueryObjectsvalue, [ recursive] ) :
将一个name - value对转换为一个对象数组,支持内部结构的转换。对构造查询字符串很实用。
演示样例:
// objects此时等于: [ { name: 'hobbies', value: 'reading' }, { name: 'hobbies', value: 'cooking' }, { name: 'hobbies', value: 'swimming' }, ]; var objects = ('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 : value : / recursive : (optional)
为true则递归遍历对象
Defaults to: false
Returns (10)toQueryStringobject, [ recursive] ) :
将一个对象转换成编码的查询字符串
不递归:
({foo: null, bar: 2}); // 返回 "foo=&bar=2" ({'some price': '$300'}); // 返回 "some%20price=%24300" ({date: new Date(2011, 0, 1)}); // 返回 "date=%222011-01-01T00%3A00%3A00%22" ({colors: ['red', 'green', 'blue']}); // 返回 "colors=red&colors=green&colors=blue"
递归:
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]=stuffParameters object :
要编码的对象
recursive : (optional)是否递归的翻译对象。这样的格式在 PHP / Ruby on Railsserver中被类似地支持.
Defaults to: false
ReturnsqueryString
view sourc
31人参与,
0条评论
登录后显示评论回复