亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

閉包和函數引用

閉包和函數引用

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 關注
  • 396 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號