惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - EricZhen

【ExtJS实践】之七 :禁止Grid、Treegrid列排序和列菜单 【ExtJS实践】之六 :Combobox从后台获取JSON格式的数据 【ExtJS实践】之五 :常用语句及脚本备忘 【ExtJS实践】之三 :页面布局应用 【ExtJS实践】之二 :TreeGrid显示复选框 【ExtJS实践】之一 :TreeGrid异步加载数据 ASP.Net下使用ExtJS报“Ext未定义”错误的原因 关于在Windows2008里配置AjaxPro.2 【备忘】转:.net的数据库连接字符串 【备忘】转:模态窗口缓存问题的解决 【备忘】红旗Linux下安装VMWare Tools的方法 关于Cookie的一个小问题 [备忘]各类数据库连接字符串 [备忘]autorun专杀工具 [备忘].cll文件的MIME类型 [备忘]方正字库中英文对照表 [SharePoint2007]使用自定义数据库的几个问题 [SharePoint]不同页面间的多个数据视图间建立关联 C#在Word文档指定位置处理表格
【ExtJS实践】之四 :关于ExtJS的createDelegate
EricZhen · 2012-06-18 · via 博客园 - EricZhen

在学习ExtJS官网提供的CardLayout的例子时,发现了createDelegete方法。

createDelegate( Object obj, Array args, Boolean/Number appendArgs ) 是Ext中的类Function的公共方法。将官网提供的API文档翻译过来就是:

功能:创建一个委派对象(回调),该对象的作用域指向obj。对于任何函数来说都是可以直接调用的。

参数项:
obj : Object
(可选的) 自定义的作用域对象。
args : Array
(可选的) 覆盖该次调用的参数列表。(默认为该函数的arguments)。

appendArgs : Boolean/Number
(可选的) 如果该参数为true,将args加载到该函数的后面,如果该参数为数字类型,则args将插入到所指定的位置。

 
返回值:
Function
新产生的函数。

为了更好的理解它的使用方法,我从网上引用了一个例子(原帖地址):

View Code

 1 Ext.onReady(function(){ 
 2   Ext.QuickTips.init() 
 3   var myclass=new Object(); 
 4   //myclass并没有alert方法,我们也不打算为它写一个alert方法 
 5   //我们希望它和window.alert有一样的行为,所以我们委托window来做  
 6   myclass.alert=window.alert.createDelegate(window); 
 7   //我们还希望他有个更漂亮的show方法和Ext.MessageBox的show功能一样 
 8   //所以我们又得委托给Ext.MessageBox来做这事了
 9   myclass.show=Ext.MessageBox.show.createDelegate(Ext.MessageBox); 
10   //我们的myclass也有alert和show方法了 
11   myclass.alert('alert1'); 
12   myclass.show({title:'title',msg:'message'}); 
13 });