閉包的實(shí)際應(yīng)用場景 JavaScript里的閉包是什么?應(yīng)用場景有哪些?
JavaScript里的閉包是什么?應(yīng)用場景有哪些?許多人可能不知道閉包是什么,但他們實(shí)際上在編寫代碼時(shí)經(jīng)常使用閉包。例如:使用閉包來實(shí)現(xiàn)私有變量閉包是一把雙刃劍,應(yīng)該謹(jǐn)慎使用。。。就像它的定義一樣,
JavaScript里的閉包是什么?應(yīng)用場景有哪些?
許多人可能不知道閉包是什么,但他們實(shí)際上在編寫代碼時(shí)經(jīng)常使用閉包。例如:
使用閉包來實(shí)現(xiàn)私有變量
閉包是一把雙刃劍,應(yīng)該謹(jǐn)慎使用。。。
就像它的定義一樣,閉包可以在函數(shù)外部保存參數(shù)或變量。當(dāng)外部函數(shù)被銷毀時(shí),閉包所持有的參數(shù)或變量在閉包函數(shù)被銷毀之前不會被銷毀。我們需要清楚地知道這些閉包函數(shù)何時(shí)被銷毀以避免內(nèi)存泄漏,例如:
上圖編寫了一個(gè)偽代碼。dep中的getprofile方法和該方法訪問的profile變量構(gòu)成一個(gè)閉包。閉包是按文檔注冊為click處理程序的,因此在取消注冊click處理程序之前,閉包包含的概要文件變量將保留在內(nèi)存中,并且無法釋放。如果開發(fā)人員忽略注銷事件,將導(dǎo)致嚴(yán)重的內(nèi)存泄漏。
手機(jī)上的NFC功能有哪些使用場景?
隨著NFC技術(shù)的發(fā)展,市場上的新手機(jī)產(chǎn)品普遍支持NFC。許多人可能熟悉這三個(gè)字母,但他們并不真正知道什么是NFC。今天,我們來談?wù)凬FC技術(shù)。
NFC(近場通信)是一種短程和高頻無線電技術(shù)。在單片機(jī)中,將感應(yīng)讀卡器、感應(yīng)卡和點(diǎn)對點(diǎn)功能相結(jié)合,實(shí)現(xiàn)與兼容設(shè)備的短距離視頻和數(shù)據(jù)交換。
NFC在日常生活中有很多應(yīng)用場景,包括移動(dòng)支付、打卡、身份識別、數(shù)據(jù)傳輸?shù)取?/p>
例如,apple pay的支付和移動(dòng)公交卡支付都是通過NFC技術(shù)實(shí)現(xiàn)的。此外,由于NFC支持短距離數(shù)據(jù)傳輸,因此也可以在兩個(gè)支持NFC的設(shè)備之間實(shí)現(xiàn)點(diǎn)對點(diǎn)數(shù)據(jù)傳輸,類似于藍(lán)牙功能。
NFC與藍(lán)牙和紅外技術(shù)有何區(qū)別?讓我們用下圖作一個(gè)簡短的解釋。首先,從傳輸網(wǎng)絡(luò)的類型來看,NFC和紅外是點(diǎn)對點(diǎn)的,藍(lán)牙是單點(diǎn)對多點(diǎn)的。在傳輸距離方面,NFC要求傳輸速率低于藍(lán)牙和紅外10cm以內(nèi),但傳輸建立時(shí)間很短,只有0.1s,傳輸建立過程非常簡單,有了NF,C功能設(shè)備可以在彼此接近和接觸時(shí)建立連接,并支持主動(dòng)和被動(dòng)傳輸模式。
NFC技術(shù)還是很有前景的,有越來越多的電子產(chǎn)品和設(shè)備支持NFC,科技的發(fā)展必然會讓生活更加便利。