麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

輕松學習Javascript閉包函數

2024-05-06 16:26:23
字體:
來源:轉載
供稿:網友
這篇文章主要幫助大家輕松學習掌握Javascript閉包函數,從閉包的含義出發,由淺入深學習Javascript閉包函數,感興趣的小伙伴們可以參考一下
 

閉包函數是什么?在開始學習的閉包的時候,大家很能都比較難理解.就從他的官方解釋來說,都是比較概念化的.

不過我們也還是從閉包的含義出發。
閉包是指函數有自由獨立的變量。換句話說,定義在閉包中的函數可以“記憶”它創建時候的環境。
官方解釋說完后,我們先來看一個簡單計數的例子.

var c = 0;function count(){c++;}count();// 1count();// 2

這個例子是利用了全局變量來實現,但是這里有個問題是,c這個變量也容易被其他方式所調用,這時候就可能會改變 c 的存儲值.造成這個count計數的失效.那怎么很好的處理這個問題呢!我們會想到的是使用局部變量的方式來處理.比如:

function count(){ var c = 0; function add(){  c++; } add();}count();// c = 1count();// c = 1

因為這樣創建之后,內部變量只存在于count函數創建執行的時候,執行完之后,整個函數就會被丟棄掉.就無法達到有記憶的能力.那要怎么來實現呢?那我們就用閉包來解決.我要重新提一次:閉包 = 函數 + 環境

function count(){  var c = 0;  function add(){   c++;  }  return add;}var ct = count();ct(); // c = 1ct(); // c = 2

這個時候我們就可以通過這個閉包來完成計數的能力.ct就是一個閉包函數,內部的環境就是這個局部變量 c. 這里我們達到的就是內部數據,外部來操作.那閉包除了這個還有什么其他功能呢?

用閉包模擬私有方法
這有點像JAVA的私有方法或者私有變量,只能允許自己來操作!如果外部操作,就需要設定公開的方法來操作.

var person = (function(){  var _name = "編程的人";  var age = 20;  return {   add:function(){     age++;   },   jian:function(){     age--;   },   getAge:function() {     return age;   },   getName:function(){     return _name;   },   setName: function (name) {     _name = name;           }  }})();person.add();var age = person.getAge();console.log(age)person.setName("編程的人公眾號:bianchengderen")console.log(person.getName())

這里應該很容易理解了吧! 有點面向對象編程的感覺。當然Javascript現在也有面向對象編程的特點.這點我們以后來說明.
目前為止,我們從計數到內部私有化的例子,來說明閉包,希望大家能簡單明白其中的道理,當然閉包還有其他的功能利用是比較方便的。

以上就是本文的全部內容,希望對大家學習javascript程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 日本精品视频一区二区三区四区 | 99亚洲伊人久久精品影院红桃 | 国产资源视频在线观看 | 久久视频精品 | 色淫视频 | 国产成人在线看 | 久久影院一区二区三区 | 九九久久视频 | 国产日韩a| 成人在线视频免费 | 欧美日本一区二区 | 亚洲一区二区不卡视频 | 精品国产一区二区亚洲人成毛片 | 2021国产精品| 国产精品美女久久久免费 | 国产91av视频 | 日本高清黄色片 | 欧美三日本三级少妇三级99观看视频 | 国产亚洲综合精品 | 亚洲第一成av人网站懂色 | 杏美月av| 亚洲αv| v11av在线播放| 九九黄色 | 主播粉嫩国产在线精品 | 国产精品啪一品二区三区粉嫩 | 黄色一级毛片免费看 | 亚洲精久久 | 一级做a爱视频 | 被啪羞羞视频在线观看 | 日韩av片在线免费观看 | 鲁丝一区二区二区四区 | 久久久国产一级片 | 亚洲人成在线播放网站 | 国产成人综合在线观看 | 成人午夜看片 | 狠狠干b| va视频在线 | 一级免费特黄视频 | 天天操综| 人人看人人舔 |