`

javascript闭包的实现方式

 
阅读更多

 

闭包说白了就是封装的意思..为了隐藏方法内部的实现细节..

 

下面一段代码说明闭包的使用:

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>闭包的实现方式</title>

	<script type="text/javascript">
		var commVar = 100;
		
		//闭包的实现方式一;
		//Ecmscript中所谓的闭包,函数能使用函数外定义的变量并且不需要传递参数;
		function showMessage(){
			alert(commVar);
		}
		showMessage();
		
		
		//闭包的实现方式二;
		//函数addNum()包括函数doAdd()闭包,内部函数是一个闭包,因为它将获取外部的参数num1和num2以及全局变量的值.
		function addNum(num1,num2){
			function doNum(){
				return commVar+num1+num2;
			}
			return doNum();
		}
		alert(addNum(10,10));
		
		//闭包实现方式三;
		function countNumFunction(num1){
			return function(num2){
				return num1 + num2;
			}
		}
		//引用闭包函数;
		var res = countNumFunction(10);
		alert(res(15));
		
		var sayHello = "hello ";
		
		//闭包实现方式四;
		(function(num1){
			var commName = "world";
			(function(){
				alert(sayHello+commName+":"+num1);
			})();
		})("500");
		
		//闭包实现方式五;
		function setDivStyle(message,time){
			setTimeout(function(){
				var divObj = document.createElement("div");
				var textObj = document.createTextNode(message);
				//把textObj对象追加到divObj中;
				divObj.appendChild(textObj);
				divObj.style.border="1px solid red";
				divObj.style.background = "green";
				document.body.appendChild(divObj);			
			},time);
		}
		setDivStyle("javascript 实例!!",3000)
		
		setTimeout(function(){
			var pobj = document.getElementById("pid");
			pobj.style.display = "none";
		},3000);
	</script>

</head>
<body>
	<p id="pid">Hello World!!!</p>
</body>
</html>

 

分享到:
评论

相关推荐

    javascript 闭包

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。

    使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习

    使用XMLHTTPRequest实现自定义ajax。javascript闭包模式写法。值的学习

    javascript闭包高级教程

    javascript闭包高级教程,闭包内部实现机制的完美展现,值得研究,比较难。

    JavaScript闭包函数

    闭包是ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害,尤其是在比较常见的浏览器环境下...

    深化解析Javascript闭包的功能及实现方法_.docx

    深化解析Javascript闭包的功能及实现方法_.docx

    基于JavaScript闭包的Web图片浏览控件的实现.pdf

    基于JavaScript闭包的Web图片浏览控件的实现.pdf

    JavaScript利用闭包实现模块化

    本文主要介绍了JavaScript利用闭包实现模块化的方法。具有一定的参考价值,下面跟着小编一起来看下吧

    JavaScript闭包函数访问外部变量的方法

    主要介绍了JavaScript闭包函数访问外部变量的方法,本文使用匿名函数来实现在闭包中访问外部变量,需要的朋友可以参考下

    JAVASCRIPT闭包详解

    闭包是 ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须 理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害 ,尤其是在比较常见的浏览器环境...

    JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。很早就接触过闭包这个概念了,但是一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什么,有什么用,今天在网上...

    JavaScript闭包和回调详解

     闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 闭包有三个特性: 1.函数嵌套函数; 2.函数内部可以引用外部的参数和变量; 3.参数和变量不会被垃圾回收机制回收。  ...

    轻松理解JavaScript闭包

    下面列举出常见的闭包实现方式,以例子讲解闭包概念 function f1(){  var n=999;  nAdd=function(){n+=1}  function f2(){  alert&#40;n&#41;;  }  return f2;  }  var result=f1();  result(); // 999  ...

    JavaScript闭包的底层运行机制

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

    javascript闭包的使用之按钮切换功能

    闭包就是能够读取其他函数内部变量的函数.这篇文章通过实例代码给大家介绍了javascript闭包的使用之按钮切换功能,感兴趣的朋友一起看看吧

    JavaScript闭包_动力节点Java学院整理

    主要介绍了JavaScript闭包,闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现

    javascript实现的闭包简单实例

    主要介绍了javascript实现的闭包简单实现方法,涉及javascript闭包的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    谈一谈javascript闭包

    主要介绍了javascript闭包,闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现,感兴趣的小伙伴们可以参考一下

    轻松学习Javascript闭包

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。这篇文章主要介绍了Javascript闭包,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics