ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ExtJS类成员-辅助函数功能

2022-07-06 09:02:21  阅读:145  来源: 互联网

标签:console log 迭代 Ext 实例 var 辅助 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({}, 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

标签:console,log,迭代,Ext,实例,var,辅助,ExtJS,函数
来源: https://www.cnblogs.com/cqpanda/p/16437873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有