更新记录
2022年7月6日 发布。
2022年7月2日 从笔记迁移到博客。
ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html
合并对象
Ext.merge ( destination, object ) : Object
注意:同名的Key会被后面的值替代
实例:
- var obj1 = {
- "Name":"Panda",
- "Code": 66666,
- "Website": "Panda666.com"
- };
-
- var obj2 = {
- "Name":"Dog",
- "Code": 888888,
- "Website": "222Dog.com"
- };
-
- var result = Ext.merge({},obj1,obj2);
- console.log(result);
- //{Name: "Dog", Code: 888888, Website: "222Dog.com"}
复制配置项到对象中
Ext.applyIf ( object, config ) : Object
注意:如果object已经有和config中相同的配置项,则不进行复制
实例:
- var result1 = Ext.applyIf({ a: 1 }, { a: 2 });
- console.log(result1);
- //obj.a === 1
-
- var result2 = Ext.applyIf({ }, { a: 2 });
- console.log(result2);
- //obj.a === 2
复制配置项到对象中(带默认值)
Ext.apply ( object, config, [defaults] ) : Object
说明:
如果config中存在和defaults中相同的配置项
则保留config中的配置项,否则保留defaults中的配置项
注意:defaults参数是可选的
实例:
- var result1 = Ext.apply({}, { a: 1 }, { a: 2 });
- console.log(result1);
- //obj.a === 1
-
- var result2 = Ext.apply({}, { }, { a: 2 });
- console.log(result2);
- //obj.a === 2
迭代可迭代类型
Ext.iterate ( object, fn, [scope] )
注意:只可以迭代数组或对象类型
实例:迭代数组
- //迭代数组
- var testArray = [1,2,3,4];
- Ext.iterate(testArray,function(value, index, self){
- console.log(value);
- console.log(index);
- console.log(self);
- });
实例:迭代对象
- //迭代对象
- var testObject = {
- "Panda": 666,
- "Dog": 222,
- "Monkey": 888
- };
- Ext.iterate(testObject, function(value, key, self){
- console.log(value);
- console.log(key);
- console.log(self);
- });
遍历可迭代类型
Ext.each ( array, fn, [scope], [reverse] ) : Boolean/Number
实例:
- var testArray = [1,2,3,4,5,6];
-
- //测试数组
- Ext.each(testArray, function(item, index, array){
- console.log(item);
- console.log(index);
- console.log(array);
- });
绑定函数的参数和作用域
类似JavaScript中的bind
bind ( fn, [scope], [args], [appendArgs] ) : Function
实例:
- function foo (a, b, c) {
- console.log(a, b, c);
- }
-
- var nativeFn = foo.bind(this, 1, 2);
- nativeFn(3); //1 2 3
调用函数
Ext.callback(callback, [scope],[args], [delay], [caller],[defaultScope] ):
实例:
- var myFunc = this.myFunc;
- Ext.callback('myFunc', this, [arg1, arg2]);
- Ext.callback(myFunc, this, [arg1, arg2]);
对象克隆
Ext.clone ( item, [cloneDom] ) : Object
实例:
- var obj1 = { "Name":"Panda666", "Code":666 };
- var obj2 = Ext.clone(obj1);
- console.log(obj2); //{Name: "Panda666", Code: 666}
- console.log(obj2 == obj1); //false
复制指定的属性到对象中
Ext.copy ( dest, source, names, [usePrototypeKeys] ) : Object
实例:
- var obj1 = { a: 1, b: 2, c: 3 };
- var obj2 = Ext.copy({}, foo, 'a,c');
复制指定的属性到对象中(如果目标中不存在)
Ext.copyIf ( destination, source, names ) : Object
实例:
- var obj1 = { a: 1, b: 2, c: 3 };
- var obj2 = Ext.copyIf({}, obj1, 'a,c');
- // obj2 = { a: 1, c: 3 };
- var obj3 = Ext.copyIf({a: 10, c: 30}, obj1, 'a,c');
- // obj3 = { a: 10, c: 30 };
获得当前时间的UNIX时间戳
Ext.now() : Number
实例:
console.log(Ext.now()); //1610155384773
可迭代类型转为数组
Ext.toArray ( iterable, [start], [end] ) : Array
注意:这里的可迭代类型指包含数字索引和长度属性
注意;Ext.toArray方法是Ext.Array.toArray的快捷别名方法
实例:
- console.log(Ext.toArray({Name:"Panda"})); //[]
- console.log(Ext.toArray({0:1,1:2,length:2})); //[1, 2]
URL字符串追加内容
Ext.urlAppend ( url, string ) : String
实例:
- var url = 'panda666.com'
- var appendString = 'code=666#flag=value1';
- var result = Ext.urlAppend( url, appendString);
- console.log(result); //panda666.com?code=666#flag=value1
如果不存在值则返回默认值
Ext.valueFrom ( value, defaultValue, [allowBlank] ) : Object
实例:
- console.log(Ext.valueFrom({},{name:'panda666'})); //{}
- console.log(Ext.valueFrom(null,'panda666')); //panda666
- console.log(Ext.valueFrom(undefined,'panda666')); //panda666