最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

2023-07-17 18:25 作者:星與虹之間  | 我要投稿

閉包

? ? ? ? // 函數(shù)在定義階段會產(chǎn)生一個存儲空間,并把存儲空間的地址給函數(shù)名,在調(diào)用的時候會開辟一個執(zhí)行空間(每次調(diào)用都不一樣),在執(zhí)行過后就會銷毀

? ? ? ? // 所以在函數(shù)內(nèi)部的變量在外部拿不到(銷毀了)


? ? ? ? // ?不讓執(zhí)行空間銷毀 ===

? ? ? ? // 每一個函數(shù)會有一個存儲空間, 執(zhí)行空間會在函數(shù)執(zhí)行完畢后就銷毀,但是存儲空間(只有一個)不會

? ? ? ? // 讓一個執(zhí)行空間不被銷毀,返回引用類型即可,引用類型有引用空間,外面有變量接收了引用空間,我們執(zhí)行空間不會銷毀。

? ? ? ? // 閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù),或者把閉包理解成 "定義在一個函數(shù)內(nèi)部的函數(shù)"


? ? ? ? // 閉包形成的條件

? ? ? ? // 1.需要一個不被銷毀的執(zhí)行空間

? ? ? ? // 2.需要直接或者間接返回的返回一個函數(shù)(引用類型)

? ? ? ? // 3.就是內(nèi)部函數(shù)需要訪問到外部函數(shù)的私有變量 ? ?//return出內(nèi)部函數(shù)后,外部也能夠獲得外部函數(shù)的私有變量

? ? ? ? // 4.這時可以把內(nèi)部函數(shù)叫做外部函數(shù)的閉包函數(shù)


? ? ? ? // ?閉包的特點(diǎn)

? ? ? ? // 1.作用域空間不銷毀

? ? ? ? // 優(yōu)點(diǎn): 因為不銷毀,變量也不會銷毀,增加了變量的生命周期

? ? ? ? // 缺點(diǎn): 因為不銷毀,會一直占用內(nèi)存,多了以后就會導(dǎo)致內(nèi)存溢出(手動銷毀設(shè)為null)

? ? ? ? // 內(nèi)存溢出:一塊內(nèi)存一直被占用而得不到釋放,影響瀏覽器的垃圾會收機(jī)制。

? ? ? ? // 2.可以利用閉包在一個函數(shù)外部訪問函數(shù)內(nèi)部的變量

? ? ? ? // 優(yōu)點(diǎn): 可以在函數(shù)外部訪問內(nèi)部數(shù)據(jù)

? ? ? ? // 缺點(diǎn): 必須要時刻保持引用,導(dǎo)致函數(shù)執(zhí)行棧不被銷毀

? ? ? ? // 3.保護(hù)私有變量

? ? ? ? // 優(yōu)點(diǎn): 可以把一些變量放在函數(shù)里面,不會污染全局

? ? ? ? // 缺點(diǎn): 要利用閉包函數(shù)才能訪問,不是很方便

千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip的評論 (共 條)

分享到微博請遵守國家法律
宣武区| 泰州市| 淅川县| 车致| 阳高县| 弥渡县| 黎城县| 桂东县| 渑池县| 炎陵县| 靖宇县| 高青县| 杭州市| 怀柔区| 侯马市| 喜德县| 乌兰浩特市| 隆尧县| 盐池县| 平武县| 大埔区| 仪征市| 贵定县| 县级市| 江油市| 湄潭县| 阜城县| 樟树市| 平江县| 昭苏县| 防城港市| 蕲春县| 伊宁县| 东明县| 富裕县| 上饶市| 海城市| 磐安县| 荥阳市| 镇远县| 阳信县|