`

JAVASCRIPT的必包实现浅析

阅读更多

  对于JAVASCRIPT而言,无疑必包是其重要的组成部分!没有必包又怎么能够存在真正意义上的回调方法呢!但是在初学者刚刚接触必包概念的时候往往被其搞的云里雾里,不知所踪!下面通过必包概念和例子分析下必包!

  • 概念

必包意味着内层的函数可以引用存在于包围它的函数内的变量(即使外层函数的执行已经终止-回调方法),在循环中使用必包,这个必包允许你引用父函数中的变量,但提供的值并非是该函数创建时的值,而是在父函数内的最终值。

  • 实例
function test(){
  var textObj = document.getElementById("text");
  var events = ["click","keypress"];
  for(var i = 0; i < events.length; i++){
       (function(){
	var item = events[i];
	textObj["on" + events[i]] = function(){
		alert("你执行了"+item+"操作");
	};
         })();	
    }	
}
window.onload=test;

 

  • 结论

通过上例我们不难看出其主要实现的功能是为text文本框添加一个单击和键盘按下事件,但是在添加事件的实现方式上却略有不同,首先构建一个events数组绑定多个需要添加的事件名称,然后对这个数组进行循环遍历。在每次遍历中都要触发一个对象的存在,也就是自执行函数,这样我们将events[i]每次进行记录给item变量,这样这个变量就是依附于自执行函数对象的变量,是在每个对象中独立存在的!随意每次回调弹出对话框的时候这个回调函数总是依附于一个自执行对象的外部变量环境,故而可以实现不同的操作出现不同item值的效果!

分享到:
评论

相关推荐

    JavaScript的面向对象特性浅析与范例.pdf

    "JavaScript面向对象特性浅析与范例" JavaScript是一种基于原型的解释型语言,它允许在任意时刻给一个对象添加任意多的属性和方法。 JavaScript的面向对象特性是指它可以实现面向对象编程的部分特性,而不是完全...

    浅析JavaScript实现基于原型对象的“继承”.pdf

    浅析JavaScript实现基于原型对象的“继承” 本文旨在对JavaScript实现基于原型对象的“继承”进行深入分析,并与基于类的继承进行比较。通过对JavaScript的原型继承机制的介绍和实例分析,提出一个改进的“寄生组合...

    asp.net 购物车的实现浅析

    - 利用AJAX(Asynchronous JavaScript and XML)技术,可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分内容,实现了用户界面与服务器间的异步通信。 - 在购物车场景下,添加或删除商品时,可以仅...

    浅析JavaScript异步代码优化

    JavaScript异步代码优化是开发过程中不可或缺的一环,尤其是在前端开发中,由于JavaScript的单线程特性,异步处理显得尤为重要。本文将深入探讨JavaScript异步编程的问题及其优化策略。 首先,我们来关注最常见的一...

    浅析JSP、JAVASCRIPT及JSP与JAVA组件实例化过程分析.pdf

    "浅析JSP、JAVASCRIPT及JSP与JAVA组件实例化过程分析" 一、JSP、JAVASCRIPT和JSP与JAVA组件实例化过程分析概述 近十年来,客户端网页脚本语言JAVASCRIPT、动态网页技术JSP和JAVA开发组件经历了长足的发展。在实际...

    Javascript动画的实现原理浅析

    JavaScript动画的实现原理主要涉及到如何利用JavaScript控制网页元素在一定时间内连续改变状态,从而创造出动态效果。动画的本质是快速连续地改变元素的某些属性,如位置、大小、颜色等,给人眼造成连续运动的视觉...

    浅析JavaScript中的类型和对象

    这是实现代码复用的一种方式。注意,.prototype仅适用于类型,而不适用于类型的实例。 JavaScript中的对象分为两类:通过字面量创建的对象和通过构造函数创建的对象。通过字面量创建的对象是Object的实例,而通过...

    JavaScript错误处理和堆栈追踪浅析.doc

    JavaScript错误处理和堆栈追踪是JavaScript编程中至关重要的部分,特别是在进行复杂应用开发和测试时。错误处理确保程序在遇到问题时能够优雅地失败,而不是崩溃,而堆栈追踪则帮助开发者快速定位错误发生的位置,...

    浅析JavaScript 箭头函数 generator Date JSON

    生成器的引入为JavaScript提供了新的异步编程模式,对于处理耗时操作或实现复杂的迭代行为非常有用。Date对象则是进行时间日期相关操作不可或缺的工具,配合其他相关API,可以轻松完成各种日期时间处理任务。

    浅析Javascript原型继承 推荐第1/2页

    虽然有传言JavaScript 2.0将加入类继承机制,但考虑到要让所有浏览器支持新特性可能需要很长时间,因此目前只能依靠现有的机制来实现对象的继承。 在JavaScript中,继承主要通过原型链实现。首先,我们需要区分几个...

    浅析JavaScript中浏览器的兼容问题

    在进行网页开发时,经常会遇到浏览器兼容性问题,尤其是在使用JavaScript编程语言的时候。不同浏览器之间的差异可能会影响到代码的正常运行。因此,解决这些兼容性问题就成为了网页开发者们必须面对的一个挑战。 ...

    浅析JavaScript中命名空间namespace模式_.docx

    由于JavaScript没有像C#或Java那样的内置命名空间支持,开发者需要通过自定义的方式来实现类似的功能。本文将深入浅析JavaScript中的命名空间模式及其应用。 首先,命名空间的主要目的是限制全局变量的数量,因为...

    浅析JavaScript动画模拟拖拽原理

    在本文中,我们将深入探讨这一技术的实现方法,并针对可能出现的问题进行优化。 首先,我们需要了解基本的拖拽逻辑。在JavaScript中,拖拽操作通常涉及以下步骤: 1. **初始化**: 创建一个可拖动的元素(如`&lt;div&gt;`...

    深化浅析JavaScript中的Function类型_.docx

    JavaScript中的Function类型是编程语言的核心概念之一,它既是创建可执行代码的构造器,也是一种数据类型。在JavaScript中,函数是一种一等公民,这意味着函数可以作为变量赋值、作为参数传递,甚至作为其他函数的...

    Javascript闭包与函数柯里化浅析_.docx

    在`refresh`的异步请求成功时,它会调用`callback`,即`update`返回的函数,从而实现对不同面板的更新。 总的来说,闭包和柯里化是JavaScript中的重要概念,它们提供了处理作用域、数据封装和函数复用的有效方式。...

    浅析海洋环境要素查询系统中页面包含静、动态文件技术.pdf

    《浅析海洋环境要素查询系统中页面包含静、动态文件技术》 文章主要探讨了在基于Browser/Server(B/S)模式的海洋环境要素查询系统中,如何有效地使用静态和动态文件技术来构建统一且高效的用户界面。在B/S模式下,...

    浅析Python爬虫获取数据实现调查研究的应用.zip

    Selenium则用于模拟真实用户行为,尤其在处理JavaScript动态加载的内容或者需要交互操作的网页时,Selenium表现出色。 在获取数据的过程中,我们需要遵循“robots.txt”协议,尊重网站的爬虫规则,并确保爬虫行为的...

    深化浅析JavaScript中数据共享和数据传递_.docx

    这篇文章将深入探讨这两个概念,以及它们在JavaScript中的实现方式。 首先,我们要明确的是,数据共享和数据传递都与作用域息息相关。作用域决定了变量在代码中的可见性和生命周期。JavaScript中有三种主要的作用域...

    浅析JavaScript中扫瞄器的兼容问题_.docx

    - 兼容性处理:可以使用能力检测来实现跨浏览器的`nextElementSibling`和`previousElementSibling`功能,通过遍历`nextSibling`或`previousSibling`并检查节点类型来找到下一个或上一个元素节点。 ```javascript ...

    JavaScript模版引擎的基本实现方法浅析

    在本文中,我们将探讨JavaScript模板引擎的基本实现方法,重点介绍如何利用JavaScript内置的Function对象来编写简单的模板引擎。 模板引擎的基本原理是读取模板文件,并使用模板引擎提供的语法或标记来解析模板内容...

Global site tag (gtag.js) - Google Analytics