PHP中閉包的一些常見問題介紹

學識都 人氣:1.83W

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現,而且支援幾乎所有流行的資料庫以及作業系統。最重要的是PHP可以用C、C++進行程式的擴充套件!以下是小編為大家搜尋整理的PHP中閉包的一些常見問題,希望能給大家帶來幫助!更多精彩內容請持續關注我們考試網!

PHP中閉包的一些常見問題介紹

首先說明下...閉包是js高階特性之一...但並非js獨有, python, php(5.3以上版本) 都是支援閉包的..

官方解釋: 所謂“閉包”,指的是一個擁有許多變數和綁定了這些變數的環境的表示式(通常是一個函式),因而這些變數也是該表示式的一部分

john resig解釋: 閉包就是內部函式可以訪問外部函式中所定義的變數,即使該函式已經執行結束

如果你還是不能明白上面那句話...那麼我就換句話來說:

在js中...執行一個函式A...當函式A執行完後...理論上來講...改函式A內所有被定義的 臨時變數都將被 當成可回收的`垃圾等待垃圾回收....然而在這個過程..有一種臨時變數是無法被垃圾回收的...當A函式中有一個內部函式a時.a函式內引用了A中定義的臨時變數...並且a函式在A函式執行完後..仍然可以被外部訪問到時...被a函式所引用的臨時變數就無法被當成垃圾等待垃圾回收.. 而a函式可以被外部訪問的同時..就生成了一個閉包...