內部函數與閉包 (Closures)
內部函數是定義在函數內的函數,閉包則是內部函數能夠捕捉其外部作用域的變量,並在其外部作用域結束後保持對這些變量的訪問。這種技術常用於創建工廠函數,或是保存狀態。
閉包的特性在函數式編程中常被用來生成封裝行為的函數,避免在代碼中不必要的全局狀態
閉包 (Closures)
閉包是一種特殊的內部函數,它記住了它所處的作用域(即便外部函數已經執行完畢並退出)。閉包的核心概念是,當內部函數引用了外部函數的變數,並且外部函數執行後,那些變數仍然可以在內部函數中使用。
在這裡,inner_function 成為了閉包,因為它「捕捉」了外部函數 outer_function 中的變數 text,即使外部函數已經結束。
閉包的用途
保持狀態:閉包可以記住某些狀態,不需要使用全局變數或物件。
資料封裝:閉包可以實現資料的封裝,將變數隱藏在函數內部,只允許通過閉包來訪問。
函數工廠:閉包可以用來創建不同配置的函數。