在JavaScript中,函数是可以带有方法的对象。Ext库提供的扩展会对Function对象——包括内建的函数、你定义的函数,这些都会继承。添加这些的方法能方便地绑定函数到特定的作用域。
作用域的重要性
在 JavaScript中,你引用一函数,使之成为handler,和在C中使用函数指针有相类似的方式。这意味着默认情况下没有对象是绑定到对象的,并且 this这个变量会是浏览器的window对象。如果要写OO的Javascript,那么这将会引起很多的误解和错误的出现。下列的Function方法允许你绑定一个对象到其所在的函数中(其this的指向引用),连同参数列表绑定到函数中。
委托和回调
createDelegate
createDelegate([http://extjs.com/deploy/ext/docs/output/Function.html#createDelegate API参考])允许你将对象绑定一个在其作用域下的函数,亦可将特定的多个参数,写成数组传入到那个函数中去。可选地,这需要一个参数来指定是否将参数列表传入到这个数组中去。如果这个第三的参数没有传入,数组将是整个的参数列表。
<source lang="javascript">
var fn = func1.createDelegate(scope, [arg1,arg2], true)
fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);
var fn = func1.createDelegate(scope, [arg1,arg2])
fn(a,b,c) === scope.func1(arg1,arg2);
var fn = func1.createDelegate(scope, [arg1,arg2], 1)
fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);
</source>
createCallback
createCallback ([http://extjs.com/deploy/ext/docs/output/Function.html#createCallback API参考]) 允许你将多个参数绑定到一个函数。指定参数作为createCallback的变量便可。
Java代码 复制代码
<source lang="javascript">
var fn = func1.createCallback(arg1, arg2);
fn() === func1(arg1, arg2)
</source>
AOP功能
EXT库亦提供一些基础性的 aspect-oriented programming(AOP面向切面编程)机制。这意味着你选择的函数可在另一函数的之前或之后被调用,并根据外部结果动态改变执行流程链。当你欲扩展Ext内建函数的行为(behavior)时,利用该机制可无须继承或重载原Ext版本。使用下列两个方法,你可在某一函数之前或之后加上你想实现的功能。
createInterceptor
createInterceptor ([http://extjs.com/deploy/ext/docs/output/Function.html#createInterceptor API参考])允许你指定一个函数在这个函数<b>之前</b>调用。原函数的所有参数都会传入给它。如果它返回false,原函数将不会被调用。作用域的参数可选地使用。
createSequence
createSequence ([http://extjs.com/deploy/ext/docs/output/Function.html#createSequence API参考])允许你指定一个函数在这个函数<b>之后</b>调用。原函数的所有参数都会传入给它。作用域的参数可选地使用。
延时执行
Ext提供了一个便捷的方法来封装JavaScript内置方法setTimeout。defer函数([http://extjs.com/deploy/ext/docs/output/Function.html#defer API参考])允许你在某一定时间间隔之后执行函数,而且可指定执行所在的作用域,连同多个参数的传入一同被调用。
分享到:
相关推荐
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
extjs资料extjs资料extjs资料extjs资料extjs资料
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
只有年月选择--dateYM.html (这个在EXTJS4.0和4.1下显示都是可以的) 2.扩展日期选择时分秒--dateTimeField4.0.html (这个只在EXTJS4.0下显示可以) EXTJS4.1文件夹下面包括 1.只有年月选择--dateYM.html ...
里面包含Extjs 2.2和Extjs 3.2.1版本两个文件
ExtJS 配置和表格控件使用 关于extjs中的GRIDView配置详细操作过程进行描述
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
这里是我搜集的ExtJs2.0和3.0的中文的API以及中英文参照的中文CHM 如果,下载之后有什么问题,可以留言.
1.提供了extjs-3.2及extjs-3.4的离线包 2.提供了spket的eclipse插件包,plugins和features放入eclipse对应的目录中,启动eclipse即可 3.离线包中包含了ext.jsb2文件,可在eclipse的spket中进行相应的配置,方便开发...
从网上资料来看,多数都是停留在ExtJs3,而4+以上版本跟3有比较大的差异,增加了过度难度,这些实例和源代码有利于从3迁移到4的,从而更好的跟5衔接。">ExtJs已经升级到了5.0了,目前可能多数应用还在使用ExtJs 3....
extjs电子书,extjs电子书,extjs电子书,extjs电子书
EXTJS实例 EXTJS树,可以编辑的EXTJS,EXTJS3.0
适合ExtJs开发人员extjs技术上手以及深入
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
extjsapi,extjs文档,api手岫
extJs3升级extjs4方案, extJs3升级extjs4需要修改大量代码
extjs框架、实例。从入门到深入的全部例子
JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。
extjs4.1 框架和文档 从官网下载的extjs-4.1.0-rc1
ExtJs 实例+ExtJs中文教程 大量ExtJs的实例和目前最好的ExtJs中文教程,学习ExtJs的朋友可以参考一下