當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript --- 再识闭包
生活随笔
收集整理的這篇文章主要介紹了
javascript --- 再识闭包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看下面一個例子:
function zipCode(code, location) {let _code = code;let _location = location || '';return {code: function () {return _code;},location: function() {return _location;}} }再上述封閉的函數中,code的匿名函數根據作用域鏈可以訪問到外面的_code變量.
const princetoZip = zipCode('08544', '3345'); console.log(princetoZip.code());
從上面的例子可以抽出閉包的定義.
閉包: 是一種能夠在函數聲明過程中將環境信息與所屬函數綁定在一起的數據結構.
閉包的作用域,其實就是一種靜態作用域或詞法作用域,下面給出詞法作用域的定義:
詞法作用域(靜態作用域): 其執行環環境是基于 函數聲明的位置的.
閉包的作用: 由于閉包的作用域是靜態的,故通過閉包寫的代碼清晰可讀,因此可以廣泛的應用于函數式編程的高級函數中,除此之外還可用于事件處理和回調、模擬私有變量等.
參考《JavaScript函數式編程指南》P41
總結
以上是生活随笔為你收集整理的javascript --- 再识闭包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库代码_【代码总结】MYS
- 下一篇: javascript --- 使用aj