欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在JavaScript中使用閉包-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)怎么在JavaScript中使用閉包,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)公司2013年成立,先為卓資等服務(wù)建站,卓資等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為卓資企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

JavaScript的作用是什么

1、能夠嵌入動態(tài)文本于HTML頁面。2、對瀏覽器事件做出響應(yīng)。3、讀寫HTML元素。4、在數(shù)據(jù)被提交到服務(wù)器之前驗證數(shù)據(jù)。5、檢測訪客的瀏覽器信息。6、控制cookies,包括創(chuàng)建和修改等。7、基于Node.js技術(shù)進行服務(wù)器端編程。

理解閉包關(guān)鍵是理解JS的對象的本質(zhì)以及垃圾收集機制。函數(shù)也是對象,也有屬性,通常執(zhí)行一個函數(shù)時,局部變量在函數(shù)執(zhí)行完后,內(nèi)存會被回收,這是JS的垃圾收集機制決定的,如果想保存局部變量所占用的內(nèi)存,就必須把保存在另一個不被回收的變量中,通常是全局變量。函數(shù)在創(chuàng)建時,內(nèi)部屬性[[Scope]]保存了作用域鏈,作用域鏈中包含外部函數(shù)以及全局對象的變量,被稱為變量對象。所以把內(nèi)部函數(shù)返回時,由于把函數(shù)保存了,所以內(nèi)部屬性[[Scope]]所保存的變量對象也就保存了而沒有被回收,因此局部變量也就被保存了。

最簡單的閉包:

function f1() {
 var i = 0;
 return function () {
 var j = 0;
 i++;
 console.log(i,j);
 };
}
var fn = f1();
fn();//1 0
fn();//2 0

還有諸如給元素添加事件,事件函數(shù)保存著外部函數(shù)的變量,通過這個特性可以讓按鈕顯示被點擊次數(shù)。

當(dāng)然可以創(chuàng)建多層閉包,最內(nèi)部函數(shù)保存所有外部函數(shù)以及全局對象的變量,但并不是任何地方都用閉包,因為其始終都帶有[[Scope]]屬性,所有比較占內(nèi)存,所以在需要的時候才用。

閉包在模塊化編程,為函數(shù)或?qū)ο髣?chuàng)建私有變量的時候非常有用,可以避免全局污染以及變量命名沖突的問題。

值得注意的是因為[[Scope]]與函數(shù)有關(guān),如上述例子,在兩次執(zhí)行f1函數(shù)把返回的函數(shù)保存在不同的變量中,其外部函數(shù)的變量是互不影響的。如:

function f1() {
 var i = 0;
 return function () {
 var j = 0;
 i++;
 console.log(i,j);
 };
}
var fn = f1();
fn();//1 0
fn();//2 0
var fn1 = f1();
fn1();//1 0
fn(); //3 0
fn1();//2 0

關(guān)于怎么在JavaScript中使用閉包就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標題名稱:怎么在JavaScript中使用閉包-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://chinadenli.net/article40/hjdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計外貿(mào)網(wǎng)站建設(shè)企業(yè)建站Google網(wǎng)站營銷靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)