前一段一直在用Ext,可是在扩展的时候总是遇到问题,索性看Ext的源码,但是发现有很多createDelegate这个方法、一直不解,最近经高人点播,了解一二。
所属类:Function
createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :这个函数的目的是创建委托。
功能:什么都不多说了。看例子
Ext.onReady(function(){
Ext.QuickTips.init()
var myclass=new Object();
//myclass并没有alert方法,我们也不打算为它写一个alert方法
//我们希望它和window.alert有一样的行为,所以我们委托window来做
myclass.alert=window.alert.createDelegate(window);
//我们还希望他有个更漂亮的show方法和Ext.MessageBox的show功能一样
//所以我们又得委托给Ext.MessageBox来做这事了
myclass.show=Ext.MessageBox.show.createDelegate(Ext.MessageBox);
//我们的myclass也有alert和show方法了
myclass.alert('alert1');
myclass.show({title:'title',msg:'message'});
});
原来就这么简单。
分享到:
相关推荐
Ext深入浅出 数据传输 第10 章 数据存储与传输.....................................230 10.1 Ext.data简介............................................230 10.2 Ext.data.Connection....................230 ...
6. **EXT核心API详解(二)-Array Date Function Number String.txt**:这部分内容与上述部分相辅相成,可能包含更深入的EXT对这些基本数据类型的增强,提供更多的实用方法和功能。 通过理解并熟练运用这些EXT核心API...
6. **Function类**:对函数进行了一些封装,如`createDelegate`允许创建委托函数,`createInterceptor`则可以创建拦截器函数。 7. **Ext.Element类**:这是EXT中的核心DOM操作类,提供了丰富的DOM操作方法,如`get`...
EXT Htmleditor的强大之处在于它的高度可定制性,你可以根据需要添加任意数量的按钮,甚至创建复杂的自定义功能。 此外,EXT Htmleditor还支持其他高级特性,如监听编辑器中的事件、自定义HTML过滤规则、使用外部...
这篇博客文章可能详细分析了`createDelegate`的用途、工作原理以及在实际开发中的应用。 首先,我们要理解什么是委托和上下文。在面向对象编程中,委托是一种类型,它可以引用方法,类似于函数指针。上下文通常指的...
通过分析和运行这段代码,开发者可以更深入地理解反射的工作原理及其在实际项目中的应用。反射在诸如插件系统、序列化、元编程、动态代理等领域都有广泛的应用。然而,需要注意的是,虽然反射提供了极大的灵活性,但...
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)); } ``` 在 onQuerySucceeded 方法中,我们可以获取当前用户所属的...
在这个例子中,`Ext.Ajax.request`是ExtJS用于发送Ajax请求的核心方法。`url`属性指定了后台处理的地址,`params`对象包含了要传递给后台的参数。`success`和`failure`回调函数分别处理后台操作成功或失败时的响应。...
事件机制是ExtJS中的核心组成部分,它使得用户界面元素能够响应用户的交互行为。本篇笔记将深入探讨ExtJS的事件处理,包括事件登记、事件对象、this的作用域以及ExtJS特有的事件管理方式。 1. **事件登记**: - **...
Function对象是JavaScript内置的一种核心对象,用于创建函数。你可以通过`new Function()`构造函数来创建函数,或者声明传统的函数表达式。Function对象具有一个特殊的属性`prototype`,它在JavaScript的面向对象...
Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded() { SP.UI.Notify.addNotification('List ' + listName + ' ...
在.NET框架中,C#语言提供了强大的类型安全和编译时检查,但有时我们需要在运行时动态地加载和调用DLL中的函数,这种情况通常涉及到“反射”这一核心特性。本篇将深入探讨如何使用C#进行动态DLL调用以及如何向目标...
- **元数据操作**:例如,生成文档、分析代码结构或实现自定义代码生成器。 4. **如何使用反射获取类型和创建对象** 获取类型信息通常通过`typeof()`操作符或`Type.GetType()`方法。例如: ```csharp Type ...
System.Reflection命名空间包含了用于反射的核心类,如Assembly、Type、MethodInfo、FieldInfo等。 2. **命名空间与装配件的关系** 命名空间(Namespace)是组织代码逻辑结构的方式,类似于Java中的包,但不需要...
本篇文章将深入探讨C#中的反射机制,包括普通反射、接口调用以及委托调用,并通过源码分析来比较它们的性能差异。 首先,我们来理解什么是反射。反射允许程序在运行时检查自身的信息,如类、接口、属性、方法等,并...
DLL是一种共享代码的机制,多个应用程序可以同时使用同一DLL中的函数或类,从而节省内存并便于代码维护。在C#中,我们通常通过`using`指令引入DLL中的命名空间和类型,但在某些情况下,如未知DLL或需要在运行时决定...
在IT行业中,动态链接库(DLL)是一种共享代码的方式,它可以被多个应用程序同时使用,以减少内存占用并提高效率。本文将重点讲解如何在C#的Winform应用中动态调用C++和C#编写的DLL,并将DLL作为嵌入资源处理,避免...
反射的核心功能在于动态类型发现和实例化。在.NET环境中,每个编译后的程序集(dll或exe)都是一个Assembly对象,而Assembly对象可以被反射来获取其中的类型信息。例如,你可以通过`typeof()`或`Assembly.GetType()`...