從乙個小例子再次理解閉包

2021-08-13 19:59:18 字數 481 閱讀 3882

function

fun()

} var f1 = fun(),

f2 = fun();

console.log(f1); // 因為f1 = fun() 執行 所以f1 f2 都等於 fun return 出的函式 function ()

console.log(f2);

f1(); // 0 f1() 是執行 f1這個函式 i++先執行在相加所以i=0

f1(); // 1 在此執行的時候i = 1

f2(); // 0 f2 為 0 的原因是 因為 f2 和 f1 是 fun 是例項化的兩個物件

我產深的疑惑在f2()的位置,因為一開是我認為f2()輸出的應該是2 因為按照閉包的思路,i會一直增加。但是我沒有注意到var f1 = fun(),f2 = fun();f1 f2是fun()例項的兩個物件,他們並不會互相干擾。

從乙個小例子理解stdio 和 sysio

系統環境 ubuntu include include include int main 如上 執行結果可選項 ababab or aaabbb or bbbaaa 正確答案 bbbaaa。原因 我們知道標準io不僅僅存在於unix中,在很多其他的作業系統中都實現了標準io庫,當然不同的作業系統標準...

乙個閉包的簡單例子

最近有很多朋友都在問我 閉包是什麼 開始自己也是懵逼的 琢磨了下 才有了了解 下面就為大家簡單的實現以下 如下 var a function a a to do console.log a 定義乙個匿名函式,把a傳遞進去,a是undefined 因為匿名函式本身沒有返回值,如果是 var a fun...

從乙個簡單的小例子入門ThinkPHP6的中介軟體

從thinkphp6開始,乙個叫做 中介軟體 的名詞出現在了官方手冊中,那麼中介軟體是用來幹什麼的?又應該如何使用呢?下面咱們慢慢分析。首先看下中介軟體官網的定義 中介軟體主要用於攔截或過濾應用的 http 請求,並進行必要的業務處理。從字面意思上不難理解,中介軟體就是在我們請求控制器的方法之前,中...