`
fangzhongteng
  • 浏览: 6318 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

JS模拟委托

阅读更多
模拟C#中的委托,写了一个委托的类,原理:
创建一个委托列表管理Add进来的方法
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

    <script type="text/javascript">
        var delegate1 = function() {
            //委托的方法列表
            var ArrayFuction = [];
            //添加方法,相当于+=
            this.AddF = function(f) {
                if (typeof (f) === "function") {
                    ArrayFuction.push(f);
                }
                else {
                    throw new Error("委托只能接受方法");
                }
            };
            //移除方法,相当于-=
            this.RemoveF = function(f) {
                if (typeof (f) === "function") {
                    var length = ArrayFuction.length;
                    for (var i = 0; i < length; i++) {
                        if (ArrayFuction[i] == f) {
                            ArrayFuction = ArrayFuction.splice(i, 1);
                        }
                    }
                }
                else {
                    throw new Error("委托只能接受方法");
                }
            };
            //调用委托下所有方法
            this.Run = function() {
                for (var item in ArrayFuction) {
                    ArrayFuction[item]();
                }
            }
        }

        var del = new delegate1();
        function aa() {
            alert("添加进入了");
        }
        function bb() {
            alert("添加2");
        }
        del.AddF(aa);
        del.AddF(bb);
        del.RemoveF(1);
        del.Run();
        
        
        
    </script>

</head>
<body>
</body>
</html>
1
1
分享到:
评论

相关推荐

    轩魂JS模拟城市Test版本

    "轩魂JS模拟城市Test版本"是一个基于JavaScript技术构建的城市模拟游戏项目,其核心在于使用JavaScript这门客户端脚本语言来实现动态交互和游戏逻辑。JavaScript(JS)是Web开发中的重要工具,它广泛用于网页和应用...

    JS模拟窗口、弹出层提示框等……

    在JavaScript(JS)编程中,模拟窗口和弹出层提示框是常见的用户交互设计,用于提供信息、警告、确认或获取用户输入。这篇博客“JS模拟窗口、弹出层提示框等……”可能探讨了如何使用JavaScript来创建自定义的对话框...

    js虚拟、模拟键盘

    JavaScript虚拟键盘,也被称为模拟键盘,是通过JavaScript和jQuery库实现的一种交互式用户输入解决方案。在某些场景下,如移动设备、触摸屏应用或者安全敏感的网页表单中,为了提高用户体验或保护用户隐私,开发者...

    vista窗口/JS模拟

    7. **性能优化**: 使用JS模拟大量动态效果可能会影响页面性能,因此需要考虑使用requestAnimationFrame、事件委托等技术进行优化,保证流畅的用户体验。 通过这些技术和方法,开发者可以创建出与Windows Vista风格...

    js模拟Excel的小工具

    在JavaScript模拟中,这需要找到要合并的单元格,然后将它们的宽度和内容合并到一个单元格中,并将其他单元格隐藏或移除。可能还需要处理边框样式以保持视觉一致性。 4. **调整文字大小**: 调整文本大小通常通过...

    JS模拟IOS联动选择插件iosselect代码.zip

    【JS模拟IOS联动选择插件iosselect代码.zip】是一个针对前端开发者的实用工具,它提供了JavaScript实现的iOS风格联动选择效果。这个插件对于那些希望在网页应用中模仿iOS设备上选择器行为的开发者来说非常有用。通过...

    JS模拟计算器在线工具代码.rar

    总的来说,这个JS模拟计算器项目涉及到前端开发的多个方面,包括HTML布局、CSS样式设计、JavaScript编程以及DOM操作,对于学习和理解Web开发技术有着很好的实践价值。通过这样的项目,开发者可以提升自己的前端技能...

    JS模拟计算器在线工具代码.zip

    在本项目中,我们关注的是一个使用JavaScript编写的模拟计算器在线工具。这个工具实现了基本的数学运算,如加法、减法、乘法、除法,还包括了百分比计算和开方功能。以下是对这个JS模拟计算器核心知识点的详细解析:...

    JS网页模拟windows操作系统桌面后台管理框架

    在本项目中,“JS网页模拟Windows操作系统桌面后台管理框架”是一个创新性的尝试,旨在利用JavaScript技术来构建一个类似Windows操作系统的界面和功能,为用户在网页上提供一种熟悉的用户体验。 这个框架的核心目标...

    基于H5的WindowsX plus 原生js html 模拟window的小demo

    开发者通过JavaScript模拟了Windows的一些核心特性,如启动画面、登录界面、桌面图标、开始菜单、任务栏等。每个应用作为一个独立的HTML页面,可以通过模拟的“开始”菜单或桌面上的快捷方式启动。这些应用可能是...

    js select框美化用input文本框模拟select框美化特效

    本教程主要关注如何使用JavaScript和CSS来实现一个更加美观、交互性强的下拉框效果,通过将传统的`&lt;select&gt;`替换为`&lt;input&gt;`文本框来模拟,并在用户交互时展示二级菜单。 首先,让我们理解为什么要使用`&lt;input&gt;`...

    股票模拟交易论文.pdf

    交易模拟模块:包括股票的买入卖出、委托单管理、实时行情展示等。 d. 数据分析模块:提供历史数据查询、技术分析工具、投资策略评估等。 e. 教育培训模块:对股票市场基础知识、交易规则等进行教学。 4. 技术...

    js模拟土豆官网右下角广告导航菜单

    在JavaScript(JS)编程中,模拟土豆官网右下角的广告导航菜单是一项常见的网页交互功能实现。这个功能涉及到了前端开发中的多个知识点,包括DOM操作、事件监听、CSS样式控制以及动画效果的实现。以下是对这些知识点...

    js模拟上古世界官网多级下拉导航菜单

    本教程将深入探讨如何使用JavaScript(JS)来模拟一个类似“上古世界”游戏官网的多级下拉导航菜单。这个功能对于游戏类网站至关重要,因为它允许用户方便地探索各种游戏类别和子类别。 首先,我们需要理解多级下拉...

    纯JS progressBar简单模拟

    【标题】"纯JS progressBar简单模拟"涉及到的知识点主要集中在JavaScript基础、DOM操作以及动态效果的实现上。在Web开发中,进度条(progressBar)是常见的一种UI元素,用于展示任务的完成度或者加载状态。以下是这...

    js+css模拟PC端淘宝支付密码输入框

    在本文中,我们将深入探讨如何使用JavaScript(JS)和Cascading Style Sheets(CSS)来模拟PC端淘宝支付密码输入框。这个功能在电子商务平台上广泛使用,为用户提供了一个安全且用户体验良好的方式来输入六位数字...

    js模拟淘宝首页缓冲幻灯片效果

    - 如果使用Vanilla JS(纯JavaScript),则需要手动实现这些功能,如通过改变元素的`opacity`属性实现渐变效果,通过改变`top`或`left`属性实现平移动画。 4. **缓冲效果**: - 缓冲效果通常是通过缓动函数...

    JS模拟计算器在线工具代码

    在本项目中,我们讨论的是一...总的来说,这个JS模拟计算器在线工具的实现涵盖了JavaScript的核心概念和常见应用,包括DOM操作、事件处理、数值计算以及用户交互。它为学习JavaScript提供了一个实用且有趣的实践项目。

    上海市JS考试题题库.pdf

    上海市JS考试题题库.pdf 本资源摘要信息是根据上海市JS考试题题库.pdf文件生成的知识点摘要。 监理工程师考试题库 监理工程师考试题库是建筑工程监理单位对监理工程师的考试题库,旨在考察监理工程师的专业知识和...

    JS.Class 2.1发布 Ruby风格的JavaScript.zip

    它通过模拟类的概念,使JavaScript代码结构更加清晰,易于理解和扩展。JS.Class 2.1是在2.0基础上的一次重大升级,主要优化了性能,增加了新特性,并修复了一些已知问题。 二、Ruby风格的类定义 JS.Class 2.1的...

Global site tag (gtag.js) - Google Analytics