目前本人在做公司项目的前台框架的升级工作,前台框架使用的是Extjs2,目前需要将框架升级到Extjs4。虽然之前使用Extjs大概快2年啦,但是因为一直没有太多的时间对一些知识点或者关键技术进行深入研究,本人也想写一点自己的积累或者见解,一直也无从下手。所以这次就以升级框架作为契机,深入的对ext的技术点进行研究,希望与大家一起分享。在这个过程中我也会把一些经常遇到知识进行归类、整理、总结。
Extjs项目开发必须知道的技术之一:apply和applyif
apply方法:apply( Object obj, Object config, Object defaults );
第一个参数是要拷贝的目标对象,
第二个参数是拷贝的源对象,
第三个参数是可选的,表示给目标对象提供一个默认值。
可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。
Ext源代码如下:
view plaincopy to clipboardprint?
/**
* Copies all the properties of config to obj.
* @param {Object} obj The receiver of the properties
* @param {Object} config The source of the properties
* @param {Object} defaults A different object that will also be applied for default values
* @return {Object} returns obj
* @member Ext apply
*/
Ext.apply = function(o, c, defaults){
// no "this" reference for friendly out of scope calls
if(defaults){
Ext.apply(o, defaults);
}
if(o && c && typeof c == 'object'){
for(var p in c){
o[p] = c[p];
}
}
return o;
};
/**
* Copies all the properties of config to obj.
* @param {Object} obj The receiver of the properties
* @param {Object} config The source of the properties
* @param {Object} defaults A different object that will also be applied for default values
* @return {Object} returns obj
* @member Ext apply
*/
Ext.apply = function(o, c, defaults){
// no "this" reference for friendly out of scope calls
if(defaults){
Ext.apply(o, defaults);
}
if(o && c && typeof c == 'object'){
for(var p in c){
o[p] = c[p];
}
}
return o;
};
applyif 也是对象克隆,不同的是,克隆的对象并不会覆盖原有属性和方法
具体代码如下:
view plaincopy to clipboardprint?
applyIf : function(o, c){
if(o){
for(var p in c){
if(!Ext.isDefined(o[p])){
o[p] = c[p];
}
}
}
return o;
},
分享到:
相关推荐
asp.net与extjs开发点卡在线销售系统--201903
Extjs项目之个人理财项目源码 Extjs项目实例
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
Extjs4开发笔记(一)——准备工作 关于Extjs4开发笔记(二)的补充说明 在Extjs4应用中使用Ext.Loader ======================================= 11条jquery常用技巧和方法整理列表 8个超棒的学习jQuery的网站 ...
官方最新版本Extjs6.2版本sdk,创建新项目的时候需要用, 全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视...
ExtJS快速入门--传智播客--蔡世友
ExtJS实用开发指南&ExtJS中文文档-API
ExtJS开发实战 ExtJS开发实战 上传只能选资源分,没办法,我想免费分享的
4. ExtJs2.0学习系列(4)--Ext.FormPanel之第一式 5. ExtJs2.0学习系列(5)--Ext.FormPanel之第二式 6. ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇) 7. ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他...
licensing@extjs.com http://extjs.com/license Open Source License Ext is licensed under the terms of the Open Source GPL 3.0 license. http://www.gnu.org/licenses/gpl.html There are several FLOSS ...
ExtJS与.NET结合开发实例ExtJS与.NET结合开发实例
EXTJS4开发的图片文章管理项目实例,后台使用JAVA+MYSQL,建表语句位于DB文件夹下,使用Myeclipse导入项目即可
个人开发的记录,希望能有帮助,互相学习技术
ExtJS4.0项目开发源代码,有需要的盆友可以下载,有很多实例,不是官方的实例哦
extJs4.0 开发手册源码 于之前的extjs4.0开发手册配套
在 ExtJS3.3基础上开发的. 低一点的版本应该也能用. 没有去测试. 参考: Ext.PagingToolbar.js 因为我开发测试完这个分页工具后, 电脑上显示刚好是15:00, 所以取名: PM3PagingToolbar 如有BUG还请各位提出或留言. ...
extjs实用开发指南 ExtJS 是一个很不错的Ajax 框架,可以用来开发带有华丽外观的富客户端应用,使得我 们的b/s 应用更加具有活力及生命力。ExtJS 是一个用javascript 编写,与后台技术无关的前 端ajax 框架。因此,...
北风网--Extjs项目之个人理财项目(Extjs+S2SH+Mysql) 真正的完整版源代码
EXTJS开发包ext-3.2.0 EXTJS开发包ext-3.2.0
ExtJS6开发培训,含有教程与说明文档等资源,按照教程即可学会ExtJS6开发。