//A是一个普通的函数
function A(a)
{
return a;
}
//B是一个带函数返回值的函数
function B(b)
{
return function (c)
{
return b+c;
}
}
var x = A(10);
var y = B(20);
var z = B(30);
alert(x); //得到10
alert(y(50)); //得到70
alert(z(100)); //得到130
[2008/12/16 12:01:20] 李伝涛 说: Code
var a=[-1,-2,-3,5,6,-1];
function f(s,e)
{
var ret=[];
for(var i in s)
{
ret.push(e(s[i]));
}
return ret;
}
var b=f(a,function(n){return n>0?n:0});
alert(b);
//result:
//0,0,0,5,6,0
[2008/12/16 12:01:45] 李伝涛 说: //这是一个计算x+y的函数,但是它和常规函数的不同之处在于
//它是被Currying的
function add(x, y)
{
//当x,y都有值得时候,计算并返回x+y的值
if(x!=null && y!=null) return x + y;
//否则,若x有值y没有值
else if(x!=null && y==null) return function(y)
{
//返回一个等待y参数进行后续计算的闭包
return x + y;
}
//若x没有值y有值
else if(x==null && y!=null) return function(x)
{
//返回一个等待x参数进行后续计算的闭包
return x + y;
}
}
//计算add(3,4)的值,得到3+4的结果7
var a = add(3, 4);
//计算add(2)的值,得到一个相当于求2+y的函数
var b = add(2);
//继续传入y的值10,得到2+10的结果12
var c = b(10);
[2008/12/16 12:02:06] 李伝涛 说: function makefunc(x)
{
return function(){return x;}
}
var a = [makefunc(0),makefunc(1),makefunc(2)];
alert(a[0]());
//result 0
alert(typeof(a[0]));
//result function
alert(a[0]);
//result function(){return x;}
var y = "global";
function constructFunction() {
var y = "local";
return new Function("return y"); // Does not capture the local scope!
}
// This line displays "global" because the function returned by the
// Function() constructor does not use the local scope. Had a function
// literal been used instead, this line would have displayed "local".
alert(constructFunction()()); // Displays "global"
[2008/12/16 12:02:41] 李伝涛 说: 科里化:
//这是一个计算x+y的函数,但是它和常规函数的不同之处在于
//它是被Currying的
function add(x, y)
{
//当x,y都有值得时候,计算并返回x+y的值
if(x!=null && y!=null) return x + y;
//否则,若x有值y没有值
else if(x!=null && y==null) return function(y)
{
//返回一个等待y参数进行后续计算的闭包
return x + y;
}
//若x没有值y有值
else if(x==null && y!=null) return function(x)
{
//返回一个等待x参数进行后续计算的闭包
return x + y;
}
}
//计算add(3,4)的值,得到3+4的结果7
var a = add(3, 4);
//计算add(2)的值,得到一个相当于求2+y的函数
var b = add(2);
//继续传入y的值10,得到2+10的结果12
var c = b(10);
发表评论
-
转载:jquery webservice 跨域
2013-01-28 16:06 1261现在的JQuery中$.ajax方法支持跨域读取json数 ... -
变更地址栏参数
2011-09-14 10:06 797<html> <head ... -
仿google 日历
2011-08-24 23:10 873仿google 日历仿google 日历仿google 日历仿 ... -
Jquery fullcalendar 官方中文文档
2011-08-22 08:47 24901. 使用方式, 引入相关js, css后, $(‘#div_ ... -
js webservice
2011-05-12 08:50 10881. 创建webservice,为了免于落俗我稍稍修改了 ... -
光标位置函数
2010-12-16 12:44 787function getCursortPosi ... -
select元素javascript常用操作
2010-12-14 09:32 633东西很简单,只是自己记性不好,经常忘记一些关键字 所以发 ... -
cookie
2010-09-17 09:06 677function SetCookie(CookieNa ... -
webservice and js
2010-06-24 09:17 816jQuery调用WebService网上的介 ... -
js 类的实现 转载
2010-05-14 10:43 766JavaScript本身并不是设计成面向对象的,所以没 ... -
jsxiaoguo
2009-05-14 10:52 713jsxiaoguo -
窗体大小
2009-05-12 09:39 880网页可见区域宽:document.body.clientWid ... -
js other event target
2008-11-20 14:41 1124解耦导航模式 function Onclick(evt) ... -
用 javascript 处理 JSON
2008-11-19 14:33 1284用 javascript 处理 JSON 关键字: json ... -
js 倒计时
2008-11-13 09:28 953<!doctype html public " ... -
Javascript中最常用的55个经典技巧
2008-09-27 17:47 8571. oncontextmenu="window.e ... -
js xml
2008-09-17 10:53 1203loadXML = function(xmlFile) ... -
正则表达式
2008-09-12 09:04 802数:44] //校验是否全由数字组成 function ... -
js 函数
2008-09-11 13:12 7931.document.write(""); ... -
js 验证函数
2008-09-11 13:03 697Javascript函数大全 /* ---------- ...
相关推荐
闭包和候选码求解 在关系数据库中,闭包和候选码是两个重要的概念。闭包是指在函数依赖关系中,一个属性集合的所有可能的函数依赖关系,而候选码是指一个关系模式中,能够唯一确定其他所有属性的属性集合。本文将...
闭包定义 在JavaScript中,当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。简单说,闭包就是能够读取其他函数内部变量的函数。 闭包的作用: 1. 可以读取函数内部的变量 2. 让这些变量的值始终保持...
其实js支持函数闭包的主要原因是因为js需要函数能够保存数据。这里的保存数据是只函数在运行结束以后函数内变量的值也会进行保存。至于为什么js需要在函数内可以保存数据,那就是js是一种函数式语言。...例1: s
本文实例讲述了python中的闭包用法。分享给大家供大家参考。具体分析如下: 什么是闭包?...看概念总是让人摸不着头脑,看几个python小例子就会了 例1 def make_adder(addend): def adder(augend): ret
本文实例讲述了JavaScript闭包与作用域链。分享给大家供大家参考,具体如下: 闭包定义 ...下面我们仍然以createComparisonFunction为例进行闭包的分析。 //step1: define createComparisonFunction fun
例 一. 闭包 1.闭包概念 1.1 python的命名空间 python命名空间就是作用域表现的原因,这里我简要说明一下。 引入命名空间的主要原因还是为了避免变量冲突,因为python中的模块众多,模块中又有函数,类等,它们都...
02-闭包表达式和闭包 03-对象 04-继承 05-协议 06-Error 07-泛型 08-扩展案例 09-访问权限案例 10-高级运算符 11-字面量协议和模式匹配室例 12-内存管理室例 13-指针案例 14-0C和Swift混编 15-多线程案例 16-...
7.2.2秒表示例 146 7.3小结 149 第8章ActionScript3.0异常处理 150 8.1ActionScript3.0异常 150 8.1.1异常概述 150 8.1.2异常分类 150 8.2ActionScript3.0调试方法 152 8.2.1FlashPlayer的调试版本 152 8.2.2在Flash...
本文通过示例给大家介绍javascript的闭包,原型,和匿名函数,具体详情请看下文。 一 .>关于闭包 理解闭包 需要的知识 1.变量的作用域 例1: var n =99; //建立函数外的全局变量 function readA(){ alert(n)...
一、javascript中的闭包 1、我们一起先来理解什么是函数的作用域。 2、调用的对象 结合例子: 代码如下: function display(something) { function executeDisplay1() { ...例一、 代码如下: var obj = {};//全局的对
在本例中,我们使用了一个自执行的匿名函数来创建一个闭包,将计数器count定义在该闭包中。 在HTML代码中,我们创建了一个div元素,并将它的id设置为"counter"。在JavaScript代码中,我们首先通过document....
Go里有函数类型的变量,这样,虽然不能在一个函数里直接声明另一个函数,但是可以在一个函数中声明一个函数类型的变量,此时的函数称为闭包(closure)。 例: 代码如下: packagemain import”fmt” funcmain...
例1 function sayHello(name) { var text = 'Hello ' + name; var sayAlert = function() { console.log(text); } sayAlert(); } sayHello("Bob") // 输出"Hello Bob" 在sayHello()函数中定义并调用了...
#以y=kx+b为例,计算一条线上多个点:给x得y #法1 不能重用 k=1 b=2 y=k*x+b #法2同线多点时,k b不能保存 def line_2(k,b,x): print(k*x+b) line_2(1,2,0) #希望不会随着函数的调用而结束 #法3 全局变量 ...
1. 单例必须是唯一的(要不怎么叫单例 2. 为保证单例的唯一性,单例类的初始化方法必须是私有的 3. 考虑到规则1,为保证在整个程序的生命周期中值有一个实例被
175个与算法有关的C语言源码,经典经典啊,还有一些计算代码,比如求两数的最大公约数、素数的求法、判断longint范围内的数是否为素数(包含求...此边加入最小生成树、计算图的传递闭包、无向图的连通分量、拓扑排序...
若不形成回路则将此边加入最小生成树、计算图的传递闭包、无向图的连通分量、拓扑排序,找入度为0的点,删去与其相连的所有边,不断重复这一过程,例寻找一数列,其中任意连续p项之和为正,任意q 项之和为负,若不...
回调函数 回调函数,对于初入编程这一行的同学可能会有些难以理解,毕竟回调函数的使用和程序顺序执行的直观流程是相悖的。 想象你定了一个外卖,一种是你定时去查看外卖有...以上面的 win32程序为例。我们知道出于安全
针对n维闭包腔函数优化问题,把单纯形自映射不动点算法与遗传算法结合进行求解。首先将解空间利用同胚映射转化为n维标准单纯形,然后对n维标准单纯形进行K2(m)剖分和相应的整数标号得到个体的承载单纯形顶点的标号信息...