首页 > 代码库 > ExtJs 基础框架(二)Ext对JavaScript原生对象的扩展

ExtJs 基础框架(二)Ext对JavaScript原生对象的扩展

技术分享
  1 Ext.onReady(function(){  2     //Ext对于原生的JavaScript扩展  3       4     //一、Ext.Object  5     /*//1.Ext.chain    把当前传入对象当成新创建对象的原型  6     var obj = {  7         name:‘bsjxt‘,  8         age:30  9     }; 10     obj.hasOwnProperty() 11     var result = Ext.Object.chain(obj); 12     alert(result.hasOwnProperty(‘name‘)); 13     alert(result.name);*/ 14  15     /*//2.Ext.each()    遍历当前对象,回调函数暴露三个属性,key,value,sele 16     //如果回调函数返回false,停止迭代 17     var obj = { 18         name:‘张三‘, 19         age:20, 20         sex:‘男‘ 21     }; 22     Ext.Object.each(obj,function(key,value,self){ 23         alert(key + ‘:‘ + value); 24     });*/ 25  26     /*//3.Ext.fromQueryString()    把字符串转成对象 27     var str = "name = bjsxt & age = 10"; 28     var obj = Ext.Object.fromQueryString(str); 29     alert(Ext.encode(obj));    //encode将对象转成字符串 30 */ 31  32     /*//4.Ext.toQueryObjects(name, value, recursive)    将一个name - value对转换为一个对象数组 33     var obj = { 34         name:‘zhangsan‘, 35         age:20, 36         fav:{ 37             fav1:‘sleep‘, 38             fav2:‘play‘, 39             fav3:‘eat‘ 40         } 41     }; 42     var arr = Ext.Object.toQueryObjects(‘user‘,obj); 43     console.info(arr);    //打印到控制台 44 */ 45  46     /*//5.Ext.toQueryString( Object object, [Boolean recursive] ) : String 47     //将一个对象转换成编码的查询字符串 48     var obj = { 49         name:‘zhangsan‘, 50         age:20 51     }; 52     var str = Ext.Object.toQueryString(obj); 53     alert(str);*/ 54      55     /*//二、Ext.Number 56     //1.Ext.Number.constrain( Number number, Number min, Number max ) : Number 57     alert(Ext.Number.constrain(5,1,20));    //返回5,如果是-1返回1,如果是25返回20 58  59     //2.Ext.Number.randomInt( Number from, Number to ) : Number 60     alert(Ext.Number.randomInt(1,10));    //随机返回1-10之间的数 61      62     //3.Ext.Number.toFixed( Number value, Number precision ) 63     alert(Ext.Number.toFixed(3.1415926,3));    //保留几位小数,并四舍五入 64 */     65  66     /*//三、Ext.String 67     alert(Ext.String.capitalize(‘bjsxt‘));    //首字母大写 68     alert(Ext.String.ellipsis(‘www.bjsxt.com‘,8));    //取前八个,八个后边为... 69 */     70      71     //四、Ext.Array 72     /*//1.Ext.Array.clean( Array array ) : Array    去掉数组中为空的对象 73     var arr = [1,2,null,3,null]; 74     alert(Ext.Array.clean(arr));*/ 75      76     /*//2.Ext.Array.difference( Array arrayA, Array arrayB ) : Array    A-B 77     var arr1 = [1,2,3]; 78     var arr2 = [2,5,6]; 79     alert(Ext.Array.difference(arr1,arr2)); 80 */ 81      82     /*//3.Ext.Array.each( Array/NodeList/Object iterable, Function fn, [Object scope], [Boolean reverse] ) : Boolean 83     //Ext.Array.forEach,和这个类似,但是元素执行函数返回false时,不停止执行; 84     var arr = [1,2,3,4,5]; 85     Ext.Array.each(arr,function(item){ 86         if (item>=4) { 87             return false; 88         } 89         alert(item);    //当函数内部返回falsereturn; 90     });*/ 91  92     /*//4.Ext.Array.erase( Array array, Number index, Number removeCount ) : Array 93     var arr = [1,2,3,4,5]; 94     alert(Ext.Array.erase(arr,2,2));    //从第二个位置移除两个元素; 95 */         96  97     /*//5.Ext.Array.every( Array array, Function fn, Object scope ) : Boolean 98     //在数组的每个元素上执行指定函数,直到函数返回一个false值 如果某个元素上返回了false值,本函数立即返回false 否则函数返回true 99     var arr = [1,2,5,6,9,10];100     var flag = Ext.Array.every(arr,function(item){101         if (item >=7) {102             return false;103         } else {104             return true;105         }106     });107     alert(flag);*/108 109     /*//6.Ext.Array.filter( Array array, Function fn, Object scope ) : Array110     //返回元素执行函数为true的值111     var arr = [1,2,3,4,10,18,5];112     var arr1 = Ext.Array.filter(arr,function(item){113         if (item>10) {114             return false;115         } else {116             return true;117         }118     });119     alert(arr1);*/120 121     /*//7.Ext.Array.include( Array array, Object item )122     //如果它不存在于这个数组,把这个元素插入到数组123     var arr = [2,3,4];124     Ext.Array.include(arr,20);125     alert(arr);*/126     127     /*//8.Ext.Array.unique( Array array ) : Array去除重复元素128     var arr = [1,2,3,4,5,5,4,3,2,1,21];129     alert(Ext.Array.unique(arr));*/130     131 /*//    自己实现去除重复元素,转化成对象,通过对象key不同转化        ?132     var arr = [1,2,3,4,5,5,4,3,2,1,21];133     //这样写for循环,避免每次都计算一次数组长度,底层代码都如此写的;134     var obj = {};135     for (var index = 0 , length = arr.length; index < length; index++) {136         obj[arr[index]] = true;    //去除数组的重复项了137     }138     //alert(Ext.encode(obj));139     var uniquearr = [];140     for(var i in obj){141         if(obj.hasOwnProperty(i)){142             uniquearr.push(i);143         }144     }145     alert(uniquearr);*/146 147     //五、Ext.Function    alias(别名).blind.defer148     /*//alias起别名149     var obj = {150         name:‘bjsxt‘,151         say:function(){152             alert(this.name);153         }        154     };155     var objsay = Ext.Function.alias(obj,say);156     objsay;*/157 158     /*//bind绑定作用于,相当于call,apply159     var color = ‘red‘;160     var obj = {161         color:‘blue‘162     };163     function showColor(){164         alert(this.color);165     }166     Ext.Function.bind(showColor,obj)();    //?167 */    168 169     /*//defer 延时执行,类似 window.setTimeout170     function task(){171         alert(‘执行‘);172     };173     Ext.Function.defer(task,3000);*/174     175     /*//六、Ext.Date176     //between( Date date, Date start, Date end ) : Boolean177     alert(Ext.Date.between(new Date(2013,07,05),new Date(2013,07,01),new Date(2013,07,08)));178     //format( Date date, String format ) : String179     alert(Ext.Date.format(new Date*/(),‘Y-m-d h:i:s‘));180     181     182     183     184     185 });
View Code

 

ExtJs 基础框架(二)Ext对JavaScript原生对象的扩展