ExtJS类成员-辅助函数功能
更新记录
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({}, obj1, '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
本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16437873.html