`
zccst
  • 浏览: 3322766 次
  • 性别: 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匿名函数、闭包

    ### JS匿名函数、闭包详解 #### 一、匿名函数概览 **匿名函数**,又称**拉姆达函数**,是一种在JavaScript中常见的函数形式,这类函数没有名称,因此不能像命名函数那样通过名称来调用。匿名函数通常作为临时使用...

    匿名函数与闭包函数.php

    匿名函数与闭包函数.php

    JavaScript 匿名函数和闭包介绍

    在讨论JavaScript编程语言时,匿名函数和闭包是两个重要的概念,它们在函数式编程和模块化代码设计中扮演着核心角色。匿名函数是没有具体名称的函数,它们可以是独立的,也可以是表达式的一部分,通常用于定义临时...

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

    这里,`box()`返回了一个匿名函数,这个匿名函数可以访问`box()`的局部变量`user`,这就是一个闭包。 闭包的一个实际应用是实现局部变量的累加: ```javascript function box() { var age = 100; return ...

    浅谈PHP匿名函数和闭包

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

    Swift编程语言中函数与闭包的详细介绍及实战应用

    内容概要:本文详细介绍了Swift编程语言中的函数与闭包概念,包括函数的基础用法(声明与调用、参数与返回值)、函数类型与变量、内嵌函数与函数链、闭包的概念及其各种高级用法(尾随闭包、隐式返回闭包、捕获列表...

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

    闭包是在函数嵌套的背景下产生的概念,涉及到了外部函数与内部函数之间的变量共享问题。 ##### 概念 闭包是指在函数嵌套的前提下,内部函数引用了外部函数的局部变量(包括参数),并且外部函数将内部函数作为...

    javascript笔记之匿名函数和闭包

    JavaScript中的匿名函数和闭包是两个非常重要的概念,它们在函数式编程和模块化开发中起着关键作用。 首先,让我们来理解匿名函数。匿名函数,顾名思义,是没有名称的函数。在JavaScript中,我们可以直接定义一个不...

    详解JavaScript匿名函数和闭包

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

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

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

    javascript 闭包、匿名函数、作用域链

    JavaScript中的闭包、匿名函数和作用域链是编程中至关重要的概念,它们是理解JavaScript运行机制的关键。在本文中,我们将深入探讨这三个概念,并通过实际示例来展示它们的运用。 首先,我们来讨论“闭包”。闭包是...

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

    本文将深入探讨Dart中的函数,包括它们的定义、可选参数、默认参数、命名参数、箭头函数、匿名函数以及闭包等关键概念。 首先,我们来了解**函数的定义**。在Dart中,你可以使用`function`关键字或者通过指定函数体...

    (转载)JavaScript中匿名函数,函数直接量和闭包.docx

    闭包通常与匿名函数结合使用,创建私有的变量和方法。以下是一个简单的闭包示例: ```javascript var counter = (function() { var count = 0; return function() { return count++; }; })(); console.log...

    详谈JavaScript 匿名函数及闭包

    在示例一中,`checkClosure`函数内的匿名函数对`str`变量形成了闭包,使得`str`在`checkClosure`执行完毕后仍然存活,直到匿名函数执行完成。 闭包在优化代码和管理作用域方面有重要作用。例如,示例二展示了如何...

    求闭包 属性集闭包 函数依赖的闭包

    1. 由用户输入函数依赖,当用户输入End时,表示所有依赖都输入完毕。(即函数依赖是由用户自己定的,程序中不能假定某个具体的依赖)。 2. 函数依赖的形式是ABC, ABE这样的形式,为了简单起见,我们假定所有的属性...

Global site tag (gtag.js) - Google Analytics