奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

JavaScript

javascript閉包的定義及應用實例分析

時間:2024-04-21 04:39:02 JavaScript 我要投稿
  • 相關推薦

javascript閉包的定義及應用實例分析

  官方解釋

  “閉包”是一個擁有許多變量和綁定了這些變量的環境表達式(通常是一個函數),因而這些變量也是環境表達式的一部分。

  通俗解釋

  Javascript中所有的函數都是一個閉包。不過一般來說,嵌套的function產生的閉包更為強大,也是大部分時候我們所說的“閉包”。看如下代碼:

  復制代碼 代碼如下:

  這段腳本在執行完var c=a()之后,變量c實際上就指向了函數b,b中用到了變量i,再執行c()后就會彈出一個窗口顯示i的值。這段代碼其實就是一個閉包,為什么?因為函數a外的變量c引用了函數a內部的函數b。

  Javascript的垃圾回收機制

  由于javascript特殊的垃圾回收機制,才導致了閉包的產生。Javascript垃圾回收機制的大體規則如下:

  在javascript中,如果一個對象不再被引用,那么這個對象就會被GC回收。如果兩個對象相互引用,而不再被第3者引用,那么這兩個互相引用的對象也會被回收。而在上述的腳本中,函數a被b引用,函數b又被函數a外的c所引用,這就是為什么函數a執行后不被回收的原因。

  閉包的應用場景

  1. 保護函數內的變量安全。以上面的例子為例,函數a中變量i只有函數b才能訪問,而無法通過其他途徑訪問到,因此保護了i的安全性。

  2. 在內存中維持一個變量。依然如上面的例子,由于閉包,函數a中的i一直存在于內存中,因此每次執行c(),i都會加1。

  3. 通過保護變量的安全實現JS私有屬性和私有方法(不能被外部訪問)。如下,私有屬性和私有方法在Constructor外是無法訪問的:

  復制代碼 代碼如下:

  function Constructor(…){

  var that = this;

  var membername = value;

  function membername(…){…}

  }

【javascript閉包的定義及應用實例分析】相關文章:

針對dom元素的分析應用07-16

如何調試javascript腳本呢07-19

javascript跨域訪問的方法07-19

兒童社會工作的定義03-06

硬盤邏輯故障解決方法實例07-16

excel中驗算公式使用實例介紹12-08

公文寫作四個技巧及實例10-14

工程項目施工管理定義03-29

原生ajax調用數據實例簡單講解07-19

人的心理的本質和心理學定義06-07

主站蜘蛛池模板: 望谟县| 遵化市| 海淀区| 罗平县| 云林县| 庆安县| 鱼台县| 梁山县| 广平县| 敦化市| 兴隆县| 隆德县| 叙永县| 福鼎市| 依安县| 宣恩县| 晋中市| 汕尾市| 定州市| 平潭县| 南木林县| 休宁县| 武威市| 喀什市| 海盐县| 德格县| 达日县| 昌平区| 怀来县| 临夏县| 神池县| 布尔津县| 哈尔滨市| 乌拉特前旗| 滨海县| 水富县| 正安县| 白河县| 英德市| 农安县| 晋中市|