使用Python對FPS遊戲讀寫操作
阿新 • • 發佈:2020-10-16
<script> /* 閉包: 利用函式不銷燬的空間 在函式內部返回一個複雜資料型別 1. 返回一個函式 + 在這個函式裡面使用了外部函式的變數 + 管 inner 叫做 outer 的閉包函式 閉包的特點: 可以在函式外部訪問函式內部的變數 優點: 在函式外部訪問 缺點: 函式執行空間不會銷燬(佔用記憶體) 延長了變數的生命週期 優點: 延長生命週期 缺點: 函式執行空間不會銷燬(佔用記憶體)(記憶體洩漏)*/ function outer() { var num = 100 function inner() { // 在訪問 num 變數 // 我自己沒有,就去上一級作用域查詢 // 上一級作用域就是 outer // 拿到的就是 outer 的 num 變數 return num } return inner } var res = outer() // res 接受的是 inner 這個函式的地址 /* 在記憶體中開闢了一個 **函式儲存空間 xxff00(outer)** outer() 在記憶體中開闢了一個 **函式執行空間 xxff11(outer)** 在 xxff11 內部定義了一個變數 num 在 xxff11 內部定義了一個 **函式儲存空間 xxff12(inner)** return inner => return xxff12 全域性 res 接受到的就是 xxff11 空間內部的 xxff12 函式儲存空間 導致了一個問題: xxff11 這個空間沒有銷燬,那麼 xxff11 裡面的 num 也一直留著 從這裡開始, 我隨時使用 res() ,隨是可以獲取到 outer 函式內部的變數 num*/ </script>