閉包的幾個例子

2021-09-17 04:52:07 字數 951 閱讀 2958

記錄關於閉包的幾個例子,網上介紹閉包文章很多,暫時就不作解釋。

1.作用域鏈的延伸
var global = 1;

function outer()

return inner(); //必須return出去

}inner(); // 6

2.全域性函式佔位符
var inner;  //placeholder

var f = function()

inner = n;

}f();

inner(); // 'local variable'

3.函式引數
function f(param);

param++;

return n;

}var inner = f(123);

inner(); // 124

4.迴圈中的閉包
function f();

}return arr;

}var arr = f();

arr[0](); // 3;

arr[1](); // 3;

arr[2](); // 3;

正常輸出0,1,2的方式:

function f()

}(i));

}return arr;

}

5.迭代器中的閉包
function setup(x)

}var next = setup(['a','b','c']);

next(); // 'a'

next(); // 'b'

next(); // 'c'

這些問題如果都理解,那麼閉包應該算是比較理解了

EnumSet的幾個例子

enumset 是乙個與列舉型別一起使用的專用 set 實現。列舉set中所有元素都必須來自單個列舉型別 即必須是同型別,且該型別是enum的子類 列舉型別在建立 set 時顯式或隱式地指定。列舉 set 在內部表示為位向量。此表示形式非常緊湊且高效。此類的空間和時間效能應該很好,足以用作傳統上基於...

儲存過程幾個例子

create or replace procedure peace if is cursor var c is select from grade begin for temp in var c loop if temp.course name os then dbms output.put lin...

java註解的幾個例子

註解的生命階段 1.原始檔 source 2.class檔案 class 3.記憶體中 runtime retentionpolicy 是乙個列舉 一共就這三個值,用來表示註解的生命階段 override retentionpolicy.source suppresswarnings retenti...