author=Ext Community(译者:[http://extjs.com/forum/member.php?u=572 Frank Cheung])
summary=Function
在JavaScript中,函数是可以带有方法的对象。Ext库提供的扩展会对Function对象——包括内建的函数、你定义的函数,这些都会继承。添加这些的方法能方便地绑定函数到特定的作用域。
<h3>作用域的重要性</h3>
在JavaScript中,你引用一函数,使之成为handler,和在C中使用函数指针有相类似的方式。这意味着默认情况下没有对象是绑定到对象的,并且this这个变量会是浏览器的window对象。如果要写OO的Javascript,那么这将会引起很多的误解和错误的出现。下列的Function方法允许你绑定一个对象到其所在的函数中(其this的指向引用),连同参数列表绑定到函数中。
<h3>委托和回调</h3>
<h4>createDelegate</h4>
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>
<h4>createCallback</h4>
createCallback ([http://extjs.com/deploy/ext/docs/output/Function.html#createCallback API参考]) 允许你将多个参数绑定到一个函数。指定参数作为createCallback的变量便可。
'''例子''':
<source lang="javascript">
var fn = func1.createCallback(arg1, arg2);
fn() === func1(arg1, arg2)
</source>
<h3>AOP功能</h3>
EXT库亦提供一些基础性的 aspect-oriented programming(AOP面向切面编程)机制。这意味着你选择的函数可在另一函数的之前或之后被调用,并根据外部结果动态改变执行流程链。当你欲扩展Ext内建函数的行为(behavior)时,利用该机制可无须继承或重载原Ext版本。使用下列两个方法,你可在某一函数之前或之后加上你想实现的功能。
<h4>createInterceptor</h4>
createInterceptor ([http://extjs.com/deploy/ext/docs/output/Function.html#createInterceptor API参考])允许你指定一个函数在这个函数<b>之前</b>调用。原函数的所有参数都会传入给它。如果它返回false,原函数将不会被调用。作用域的参数可选地使用。
<h4> createSequence</h4>
createSequence ([http://extjs.com/deploy/ext/docs/output/Function.html#createSequence API参考])允许你指定一个函数在这个函数<b>之后</b>调用。原函数的所有参数都会传入给它。作用域的参数可选地使用。
<h4>延时执行</h4>
Ext提供了一个便捷的方法来封装JavaScript内置方法setTimeout。defer函数([http://extjs.com/deploy/ext/docs/output/Function.html#defer API参考])允许你在某一定时间间隔之后执行函数,而且可指定执行所在的作用域,连同多个参数的传入一同被调用。
http://extjs.com/learn/Manual:Utilities:Function_%28Chinese%29
分享到:
- 2008-06-09 16:01
- 浏览 9895
- 评论(0)
- 论坛回复 / 浏览 (0 / 8720)
- 查看更多
相关推荐
学习EXTjs非常好的手册,里面有环境的配置,以及很多学习用例,非常的详细和经典。
extjs实现简单的树状结构级联Ext onReady function { Ext QuickTips init ; Ext BLANK IMAGE URL "extjs resources images default s gif"; var mytree new Ext tree TreePanel { el : "...
AJAX框架(DWR&ExtJS)AJAX框架(DWR&ExtJS)AJAX框架(DWR&ExtJS)
struts2+extjs中File的upload&download;&delete;例子及说明,有图及文字说明~~初学者还挺有帮助的~~
ext可视化设计的破解,在myeclipse中使用ext框架
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
Ext.MessageBox是一个工具类,他继承自Obiect对象,用来生成各种风格的信息提示对话框,Ext.Msg是该类的别名,使用Ext.MessageBox和用Ext.Msg效果是一样的,而后者提供了更简单的方式。
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
ExtJS与.NET结合开发实例ExtJS与.NET结合开发实例
ExtJS实用开发指南&ExtJS中文文档-API
ext精髓,Extjs如何与数据库交互,可以很快的叫你EXT一些知识
extjs资料extjs资料extjs资料extjs资料extjs资料
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
xtJs已经升级到了5.0了,目前可能多数应用还在使用ExtJs 3.系列。 从开发大型的web后台或者企业管理系统来看,ExtJs3的缺陷还是比较明显的,从ExtJs4 开始引入了MVC架构,从而能够从容的组织系统的JS文件了。 从...
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
ExtJS3.0 源码分析与开发实例宝典
extjs与系统切分模块设计 extjs与系统切分模块设计 extjs与系统切分模块设计
EXTJS, 图形EXTJS, 图形EXTJS, 图形EXTJS, 图形EXTJS, 图形EXTJS, 图形
extJs3升级extjs4方案, extJs3升级extjs4需要修改大量代码