此文來記錄學習筆記;

Ext.Object
//Ext對於原生javascript對象的擴展 //Ext.Object //1:chain 把當前傳入的對象 當成新創建對象的原型 var obj = { name:'z3', age:10 }; var result = Ext.Object.chain(obj); alert(result.name);//z3 alert(result.age);//10 alert(result.hasOwnProperty('name')); //false hasOwnProperty()用於判斷屬性是否是自己的,返回false說明name屬性不是自己的,是obj的;obj是result的原型對象
no.2 each( Object object, Function fn, [Object scope] )
//2:each 變量當前對象 然后毀掉函數中暴露出三個屬性 key、value、self 如果回調函數返回false則停止迭代 var obj = { name:'張三' , age:20 , sex:'男' }; Ext.Object.each(obj,function(key , value , self){ alert(key + ' : ' + value); if(age == 20){ return false ; } });
no.3fromQueryString( String queryString, [Boolean recursive] ) : Object
將查詢字符串轉換回對象。 ...
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']] }
no.4 getKey( Object object, Object value )
var person = { name: 'Jacky', loves: 'food' }; alert(Ext.Object.getKey(person, 'food')); // 彈出 'loves'
no.5 toQueryObjects( String name, Object/Array value, [Boolean recursive] ) : Array
將一個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 }, ];
no.6 getKeys( Object object ) : String[]
獲取所有對象的key組成的數組
var values = Ext.Object.getKeys({ name: 'Jacky', loves: 'food' }); // ['name', 'loves']
no.7 getSize( Object object ) : Number
獲取此對象的所有自有屬性的數目
var size = Ext.Object.getSize({ name: 'Jacky', loves: 'food' }); // size 等於 2
no.8 getValues( Object object ) : Array
獲取給定對象所有的值組成的數組。
var values = Ext.Object.getValues({ name: 'Jacky', loves: 'food' }); // ['Jacky', 'food']
no.9 merge( Object destination, Object... object ) : Object
遞歸的合並任意數目的對象,但是不引用他們或他們的子對象。看栗子
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 } }
no.10 toQueryObjects( String name, Object/Array value, [Boolean recursive] ) : Array
舉個栗子:
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 }, ];
no.11 toQueryString( Object object, [Boolean recursive] ) : String
將一個對象轉換成編碼的查詢字符串
不遞歸: 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
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
–Ext.Number
constrain( Number number, Number min, Number max ) : Number
檢查給定的數值是否在約束的范圍內,如果再范圍內就返回此數值。否則,如果大於最大值則返回最大值,如果小於最小值則返回最小值
注意本方法不改變給定的數值本身
randomInt( Number from, Number to ) : Number
返回一個隨機數
toFixed( Number value, Number precision )
小數取舍
alert(Ext.Number.toFixed(3.1415926,5));//結果為 3.142
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
–Ext.String
capitalize( String string ) : String
返回首字母大寫的字符串
trim( String string ) : String
看栗子
var s = ' foo bar '; alert('-' + s + '-'); //alerts "- foo bar -" alert('-' + Ext.String.trim(s) + '-'); //alerts "-foo bar-"
今天就到這里吧,明天繼續說Ext.Array,Ext.Function,Ext.Date,Ext.Error;每天進步一點點
給各位推薦個文章網www.fishcmonkey.com,學習之余提高文學修養;