`
zccst
  • 浏览: 3295652 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

匿名函数与闭包(珠峰版)

 
阅读更多
作者:zccst

1,递归

2,闭包
function createComparisonFunction(propertyName){
	return function(object1, object2){
		var value1 = object1[propertyName];
		var value2 = object2[propertyName];
		
		if(value1 < value2){
			return -1;
		}else if(value1 > value2){
			return 1;
		}else{
			return 0;
		}
	}
}

var compare = createComparisonFunction("name");
console.log(compare); //function
var result = compare({name:"Aicholas"},{name:"Breg"});
console.log(result); // -1


3,变量作用域。
js的作用域离开for循环后,变量依然存在。
但是变量离开函数范围后,变量则不存在了。如果内部函数用到外部函数的变量,则离开外部函数执行后,这些外部变量都还在。
<style>
li{ width:200px; height:30px;}
</style>
<script type="text/javascript">
window.onload = function()
{
	//alert("test");
	var oLis = document.getElementsByTagName("li");
	for(var i = 0; i < oLis.length; i++)
	{
		/*
		//方式一
		oLis.item(i).onclick = function(){//进行循环时,没有执行show(i)这行代码。
			show(i);//原因:function(){show(i);}像一个变量,赋给了左边的事件。只定义未执行。
		}*/
		
		//方式二
		//如果想解决这个问题,则可以用下面方法。
		//执行一个方法有两种方式,一种是funcName+(),另一种是事件触发。
		(function(k){
			oLis.item(k).onclick = function(params){
				//alert(params);//如果点击ee,则params等于click clientX=58, clientY=142
				show(k);//k为私有变量。外面不能访问k,但函数内部可以访问外部和全局变量,这就是闭包。
			}//每运行一次,k就销毁一次,彼此之间没有关系。
		})(i);
	}
	function show(n)
	{
		alert(n);
	}
}

</script>

<ul>
    <li>aa</li>
    <li>bb</li>
    <li>cc</li>
    <li>dd</li>
    <li>ee</li>
</ul>

分享到:
评论

相关推荐

    JS匿名函数、闭包

    匿名函数,也称为拉姆达函数,是一种使用JavaScript...JavaScript中的匿名函数和闭包都是非常有用的特性,利用它们可以实现很多功能。不过,因为创建闭包必须维护额外的作用域,所以过度使用它们可能会占用大量内存。

    JS 第16章 匿名函数和闭包

    JS中的匿名函数和闭包,详细解释了大家的疑惑,提升大家对的JS的进一步的理解!

    匿名函数与闭包函数.php

    匿名函数与闭包函数.php

    javascript笔记之匿名函数和闭包.docx

    javascript笔记之匿名函数和闭包.docx

    浅谈PHP匿名函数和闭包

    闭包和匿名函数在PHP 5.3.0中引入,这两个特性非常有用,每个PHP开发者都应该掌握。 匿名函数其实就是没有名称的函数,匿名函数可以赋值给变量,还能像其他任何PHP函数对象那样传递。不过匿名函数仍然是函数,因此...

    javascript笔记之匿名函数和闭包

    本文介绍了js匿名函数和闭包的相关内容,供大家参考,具体内容如下 匿名函数 [removed] //function(){}//会报错 var fun = function(){};//将匿名函数赋值给变量 (function(){})();//匿名函数自执行 function...

    详解JavaScript匿名函数和闭包

    在JavaScript前端开发中,函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在JavaScript,函数在每次创建时生成闭包。匿名...

    PHP匿名函数(闭包函数)详解

    在PHP中匿名函数(Anonymous functions),也叫闭包函数( closures ),允许临时创建一个没有指定名称的函数。经常用作回调函数(callback)的参数。 当然,也有其他应用的情况。 注:php闭包是PHP5.3版本之后才有...

    Dart中的函数 函数的定义 可选参数 默认参数 命名参数 箭头函数 匿名函数 闭包等.zip

    本资源讲解了:Dart中的函数 函数的定义 可选参数 默认参数 命名参数 箭头函数 匿名函数 闭包等,含PPT和源代码

    JavaScript 匿名函数和闭包介绍

    闭包:可访问一个函数作用域里的变量的函数; 一 匿名函数 // 普通函数 function box(){ // 函数名是box; return 'Lee'; } box(); // =&gt;Lee; 调用函数; // 匿名函数 function(){ // 匿名函数,会报错; return '...

    详解 Rust 的函数与闭包.pdf

    详解 Rust 的函数与闭包

    swift_函数和闭包

    函数和闭包

    详谈JavaScript 匿名函数及闭包

    本文详细介绍了匿名函数、闭包、并给出了详细的例子以及详细的注意事项,是篇非常非常不错的文章,推荐给大家。

    python 函数 函数的偏函数 高阶函数 返回函数 匿名函数 闭包.md

    ​ 当我们写一个参数比较多的函数时,如果有些参数,大部分场景下都是某一个固定值,那么为了简化使用,就可以创建一个新函数,指定我们要使用的函数的某个参数,为某个固定的值;这个新函数就是“偏函数” 2. ...

    数据库求属性集闭包&函数依赖闭包

    4) 计算函数依赖的闭包。此步骤不作要求,但要会方法。个人总结:将所有属性元素组成一个集合(域)记为R;求R的所有子集(要用到第二步中的全排列~~~),设其中一个为Ri;对每一个子集求其闭包,记为Ri+;然后求Ri...

Global site tag (gtag.js) - Google Analytics