• ExtJS类成员-辅助函数功能


    更新记录
    2022年7月6日 发布。
    2022年7月2日 从笔记迁移到博客。

    ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html

    合并对象

    Ext.merge ( destination, object ) : Object

    注意:同名的Key会被后面的值替代
    实例:

    1. var obj1 = {
    2. "Name":"Panda",
    3. "Code": 66666,
    4. "Website": "Panda666.com"
    5. };
    6. var obj2 = {
    7. "Name":"Dog",
    8. "Code": 888888,
    9. "Website": "222Dog.com"
    10. };
    11. var result = Ext.merge({},obj1,obj2);
    12. console.log(result);
    13. //{Name: "Dog", Code: 888888, Website: "222Dog.com"}

    复制配置项到对象中

    Ext.applyIf ( object, config ) : Object

    注意:如果object已经有和config中相同的配置项,则不进行复制
    实例:

    1. var result1 = Ext.applyIf({ a: 1 }, { a: 2 });
    2. console.log(result1);
    3. //obj.a === 1
    4. var result2 = Ext.applyIf({ }, { a: 2 });
    5. console.log(result2);
    6. //obj.a === 2

    复制配置项到对象中(带默认值)

    Ext.apply ( object, config, [defaults] ) : Object

    说明:
    如果config中存在和defaults中相同的配置项
    则保留config中的配置项,否则保留defaults中的配置项
    注意:defaults参数是可选的
    实例:

    1. var result1 = Ext.apply({}, { a: 1 }, { a: 2 });
    2. console.log(result1);
    3. //obj.a === 1
    4. var result2 = Ext.apply({}, { }, { a: 2 });
    5. console.log(result2);
    6. //obj.a === 2

    迭代可迭代类型

    Ext.iterate ( object, fn, [scope] )

    注意:只可以迭代数组或对象类型
    实例:迭代数组

    1. //迭代数组
    2. var testArray = [1,2,3,4];
    3. Ext.iterate(testArray,function(value, index, self){
    4. console.log(value);
    5. console.log(index);
    6. console.log(self);
    7. });

    实例:迭代对象

    1. //迭代对象
    2. var testObject = {
    3. "Panda": 666,
    4. "Dog": 222,
    5. "Monkey": 888
    6. };
    7. Ext.iterate(testObject, function(value, key, self){
    8. console.log(value);
    9. console.log(key);
    10. console.log(self);
    11. });

    遍历可迭代类型

    Ext.each ( array, fn, [scope], [reverse] ) : Boolean/Number

    实例:

    1. var testArray = [1,2,3,4,5,6];
    2. //测试数组
    3. Ext.each(testArray, function(item, index, array){
    4. console.log(item);
    5. console.log(index);
    6. console.log(array);
    7. });

    绑定函数的参数和作用域

    类似JavaScript中的bind

    bind ( fn, [scope], [args], [appendArgs] ) : Function

    实例:

    1. function foo (a, b, c) {
    2. console.log(a, b, c);
    3. }
    4. var nativeFn = foo.bind(this, 1, 2);
    5. nativeFn(3); //1 2 3

    调用函数

    Ext.callback(callback, [scope],[args], [delay], [caller],[defaultScope] ):

    实例:

    1. var myFunc = this.myFunc;
    2. Ext.callback('myFunc', this, [arg1, arg2]);
    3. Ext.callback(myFunc, this, [arg1, arg2]);

    对象克隆

    Ext.clone ( item, [cloneDom] ) : Object

    实例:

    1. var obj1 = { "Name":"Panda666", "Code":666 };
    2. var obj2 = Ext.clone(obj1);
    3. console.log(obj2); //{Name: "Panda666", Code: 666}
    4. console.log(obj2 == obj1); //false

    复制指定的属性到对象中

    Ext.copy ( dest, source, names, [usePrototypeKeys] ) : Object

    实例:

    1. var obj1 = { a: 1, b: 2, c: 3 };
    2. var obj2 = Ext.copy({}, foo, 'a,c');

    复制指定的属性到对象中(如果目标中不存在)

    Ext.copyIf ( destination, source, names ) : Object

    实例:

    1. var obj1 = { a: 1, b: 2, c: 3 };
    2. var obj2 = Ext.copyIf({}, obj1, 'a,c');
    3. // obj2 = { a: 1, c: 3 };
    4. var obj3 = Ext.copyIf({a: 10, c: 30}, obj1, 'a,c');
    5. // 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的快捷别名方法
    实例:

    1. console.log(Ext.toArray({Name:"Panda"})); //[]
    2. console.log(Ext.toArray({0:1,1:2,length:2})); //[1, 2]

    URL字符串追加内容

    Ext.urlAppend ( url, string ) : String

    实例:

    1. var url = 'panda666.com'
    2. var appendString = 'code=666#flag=value1';
    3. var result = Ext.urlAppend( url, appendString);
    4. console.log(result); //panda666.com?code=666#flag=value1

    如果不存在值则返回默认值

    Ext.valueFrom ( value, defaultValue, [allowBlank] ) : Object

    实例:

    1. console.log(Ext.valueFrom({},{name:'panda666'})); //{}
    2. console.log(Ext.valueFrom(null,'panda666')); //panda666
    3. console.log(Ext.valueFrom(undefined,'panda666')); //panda666
  • 相关阅读:
    Linux cifs挂载远程windows共享目录
    YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度
    (四)笔记.net core学习之应用配置、多环境配置、日志与路由
    GitHub:黑客盗用 OAuth 令牌,导致数十个组织数据泄露
    Java 一台机器搭建多个tomcat,运行不同的程序
    django实现jwt身份认证
    使用react-grid-layout和react-full-screen实现一个可自定义和全屏展示的dashboard页面
    Docker
    播放svga动画的时候 第一次加载资源,然后切换动画 会动画会重影
    消息队列系列
  • 原文地址:https://blog.csdn.net/weixin_38304160/article/details/125633543