为了账号安全,请及时绑定邮箱和手机立即绑定

闭包和函数引用

闭包和函数引用

HUWWW 2018-09-05 15:09:17
对函数式编程弄得不是很清楚,所以想请假一下下面这两种方法在实现上各有什么优劣点呢?// 闭包function func1() {  // func1}function func2() {  // func2}function doSomething(func) {  return function() {    // do something...    return func  }}var func1 = doSomething(func1);var func2 = doSomething(func2);// 函数引用function doSomething() {  // do something...}function func1() {  doSomething();  // func1}function func2() {  doSomething();  // func2}
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

拿func1()来举例子

你两段代码的共同点是 执行func1()调用即执行了func1()的逻辑,又执行了doSomething的逻辑,
区别在于组织代码的时候在第二段代码里你将 doSomething()函数放在了 func1()里,而第一段
代码

function func1() {  // func1
  alert(a++);
}function doSomething(func) {  return function() {    // do something...
    var a=10;    return func
  }
}var funca = doSomething(func1);

func1相当与闭包,你可以在func1里面访问doSomething这个函数实现逻辑过程中的所有数据,但是在第二段
代码里显然没有这个功能


查看完整回答
反对 回复 2018-10-11
  • 1 回答
  • 0 关注
  • 383 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信