首页 > 代码库 > 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 });
ExtJs 基础框架(二)Ext对JavaScript原生对象的扩展
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。