ExtJs 基础框架Ext对JavaScript原生对象的扩展
Posted sailor4518
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ) : Array 110 //返回元素执行函数为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.defer 148 /*//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,apply 159 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.setTimeout 170 function task(){ 171 alert(\'执行\'); 172 }; 173 Ext.Function.defer(task,3000);*/ 174 175 /*//六、Ext.Date 176 //between( Date date, Date start, Date end ) : Boolean 177 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 ) : String 179 alert(Ext.Date.format(new Date*/(),\'Y-m-d h:i:s\')); 180 181 182 183 184 185 });
以上是关于ExtJs 基础框架Ext对JavaScript原生对象的扩展的主要内容,如果未能解决你的问题,请参考以下文章