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 });