`
left.jessica
  • 浏览: 32849 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

一个javascript闭包代码研究

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
	// 匿名外层函数
	(function( window, undefined ) {
		// 内层函数方法a
		var a = function(){
			alert("初始化开始");
			obj.constructor("参数", 1);
		}

		// 内层函数方法b
		var b = function(){
			return obj;
		}

		// 外层函数的局部变量
		obj = {
			type:0x01,
			open:function(){
				alert("open" + this.param + "," + this.num);
			},
			close:function(){
				alert("close" + this.param + "," + this.num);
			},
			constructor:function(param, num){
				this.param = param;
				this.num = num;
			}
		};

		window.a=a;
		window.b=b;
	})(window);

	function test(){
		var k = b();
		k.open();
		k.close();
	}
//-->
</SCRIPT>
 </HEAD>
 <BODY>
<INPUT TYPE="button" VALUE="test" ONCLICK="test();">

 </BODY>
 <script language="javascript" type="text/javascript">	
	a();
 </script>
</HTML>

 再一个一般例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 <script language="javascript" type="text/javascript">	
	function outer(){
		alert("outer");
		var i = 0;
		var inner = function(){
			i++;
			alert(i);
		};
	
		return inner;
	
	}

	var t = outer();
	t();
	t();
	t();
	t();

 </script>
 </HEAD>

 <BODY>
 <INPUT TYPE="button" VALUE="调用" ONCLICK="t();">
 </BODY>
</HTML>

 最后一个类似第一个例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 <script language="javascript" type="text/javascript">	
	(function (window){
		alert("outer");
		var i = 0;
		var inner = function(){
			i++;
			alert(i);
		};
		window.inner = inner;
	})(window);

	inner();
	inner();
	inner();

 </script>
 </HEAD>

 <BODY>
 <INPUT TYPE="button" VALUE="调用" ONCLICK="inner();">
 </BODY>
</HTML>

 

分享到:
评论

相关推荐

    JavaScript闭包研究及典型应用.pdf

    JavaScript 闭包研究及典型应用 JavaScript 闭包是一种强大的技术,能够在各种场景中发挥重要作用。本文将介绍 JavaScript 闭包的定义、使用场景和典型应用。 闭包函数的定义和使用场景 在 JavaScript 语言中,...

    揭开Javascript闭包的真实面目

    闭包是JavaScript编程中一个核心且关键的概念,尤其对于初学者而言,理解起来可能有些挑战。闭包本质上是一种特殊的作用域,它可以捕获并存储其外部函数作用域内的变量,即使外部函数已经执行完毕。简单来说,闭包...

    JavaScript经典代码收集

    4. **对象与原型**:JavaScript使用原型链实现继承,每个对象都有一个隐含的[[Prototype]]属性,通常通过`__proto__`访问。ES6引入了类的概念,但其本质仍是基于原型的。 5. **数组**:JavaScript中的Array对象提供...

    javascript常见代码合集

    闭包是JavaScript中的一个高级概念,允许函数访问并操作外部作用域的变量,即使在函数执行后仍然保留状态。 9. **原型与继承**: JavaScript的原型链提供了面向对象编程的实现,`__proto__`和`prototype`属性用于...

    javascript源代码大全

    随着时间的推移,JavaScript已经发展成为一个功能强大的多平台编程语言,不仅限于浏览器,还被用于服务器端(Node.js)、移动应用、游戏开发等多个领域。 "javascript源代码大全"很可能是一份综合性的资源集合,...

    javascript 经典代码

    理解和运用这些代码可以反映出一个开发者对JavaScript的深入理解和实际操作能力。 标签“javascript 代码 经典”进一步确认了我们关注的焦点在于JavaScript的编程实践,尤其是那些在实践中被广泛认可和使用的代码...

    Javascript征途源代码

    总之,《JavaScript征途》的源代码提供了一个实践和学习JavaScript的绝佳平台,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。通过深入研究每个代码示例,你可以巩固理论知识,提高解决问题的能力,最终...

    head first JavaScript源代码

    《Head First JavaScript源代码》是一本深入浅出的JavaScript学习资料,它以独特且易于理解的方式,引导读者掌握JavaScript的核心概念和技术。JavaScript是一种广泛应用于网页和网络应用的脚本语言,它赋予网页动态...

    超实用Javascript代码

    学习如何使用浏览器的开发者工具进行代码调试是每个JavaScript开发者必备的技能。断点、步进执行、查看变量值等工具可以帮助定位和修复错误。 通过深入学习并实践这些JavaScript知识点,初学者可以逐步成长为熟练...

    JavaScript实战 源代码

    "3517.zip"则可能是一个包含多个JavaScript项目的压缩包。解压后,你会看到各种实际的JavaScript代码文件,这些文件可能是独立的脚本、HTML页面或者整个Web应用程序。通过这些项目,你可以学习到如何将JavaScript...

    JavaScript闭包的底层运行机制

    我研究JavaScript闭包(closure)已经有一段时间了。我之前只是学会了如何使用它们,而没有透彻地了解它们具体是如何运作的。那么,究竟什么是闭包?Wikipedia给出的解释并没有太大的帮助。闭包是什么时候被创建的,...

    深入浅出javascript源代码

    JavaScript,作为全球最广泛使用的编程语言之一,是创建交互式网页和动态应用的关键技术。《深入浅出JavaScript源代码》是一本旨在帮助...对于想要在Web开发领域深入发展的程序员来说,这是一个不可多得的学习资源。

    精通JavaScript 书籍源代码

    JavaScript,作为全球最广泛使用的编程语言之一,是创建交互式网页和网络应用的关键工具。这本书“精通JavaScript”深入探讨...在阅读和研究这些代码时,记得不断实践、调试和反思,这样才能真正掌握并精通JavaScript。

    100个Javascript特效页面以及源代码

    "100个Javascript特效页面以及源代码"集合涵盖了多种JavaScript技术的应用实例,是学习和研究JavaScript特效的理想资源。下面将详细介绍其中可能包含的一些关键知识点。 1. **DOM操作**:JavaScript通过Document ...

    最符合菜鸟的闭包

    闭包是编程语言中的一个重要概念,特别是在JavaScript等函数式编程语言中。对于初学者来说,它可能显得有些抽象,但理解闭包对于提升编程技能至关重要。闭包是一种特殊的作用域,它允许函数访问并操作其外部作用域的...

    JavaScript王者归来之源代码

    《JavaScript 王者归来》是一本专注于深入探讨JavaScript编程技术的书籍,其源代码提供了丰富的实例和练习,旨在帮助读者提升对JavaScript的理解并掌握实际应用。这份源代码包含了一系列与书中内容紧密相关的脚本,...

    272个超酷经典JavaScript代码

    这个名为“272个超酷经典JavaScript代码”的资源集合,显然是一个宝贵的参考资料,包含了多种实用的JavaScript编程技巧和示例。 JavaScript的核心特性包括它的弱类型系统、基于原型的对象、函数作为一等公民以及...

    Javascript代码集

    6. **闭包**:闭包是JavaScript中的一个重要概念,它允许函数访问和修改外部作用域的变量,即使在函数执行后仍能保持其状态。 7. **异步编程**:JavaScript是非阻塞的,常用异步编程模式有回调函数、Promise、async...

    闭包实现ztree增删改查

    在JavaScript中,每当函数被创建时,都会形成一个闭包,可以保存函数的局部变量。因此,通过闭包,我们可以在不污染全局变量的情况下存储和管理数据。 在ZTree的上下文中,闭包可以用于以下目的: 1. 数据缓存:当...

Global site tag (gtag.js) - Google Analytics