摘要:首先了解立即函數(shù)聲明一個(gè)匿名函數(shù)馬上調(diào)用這個(gè)匿名函數(shù)作用創(chuàng)立獨(dú)立作用域,避免變量污染參考練習(xí)的時(shí)候發(fā)現(xiàn)錯(cuò)誤查找資料如果語法是在一個(gè)表達(dá)式中比如上述寫法的寫法都是表達(dá)式,關(guān)鍵字后面的變量只是函數(shù)的名字,而不會(huì)產(chǎn)生變量,比如注意下可能
首先了解立即函數(shù)
聲明一個(gè)匿名函數(shù)
馬上調(diào)用這個(gè)匿名函數(shù)
作用:創(chuàng)立獨(dú)立作用域,避免變量污染
參考
練習(xí)的時(shí)候發(fā)現(xiàn)錯(cuò)誤
!function a(){console.log(1);}() a(); //a is not defined(…)
查找資料
如果 function 語法是在一個(gè)表達(dá)式中(比如上述寫法的 ! 寫法都是表達(dá)式),關(guān)鍵字 function 后面的 "變量" 只是函數(shù)的名字,而不會(huì)產(chǎn)生變量,比如
var a = function b() {} // typeof a === "function" // typeof b === "undefined" // a.name === "b" 注意:IE下可能 a.name === undefined
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81652.html
摘要:匿名函數(shù)是不能單獨(dú)寫的,所以就提不上立即執(zhí)行了。六立即執(zhí)行函數(shù)在閉包中的應(yīng)用立即執(zhí)行函數(shù)能配合閉包保存狀態(tài)。來看下上節(jié)內(nèi)容中閉包的例子現(xiàn)在,我們來利用立即執(zhí)行函數(shù)來簡化它第一個(gè)匿名函數(shù)執(zhí)行完畢后,返回了第二個(gè)匿名函數(shù)。 前面的閉包中,提到與閉包相似的立即執(zhí)行函數(shù),感覺兩者還是比較容易弄混吧,嚴(yán)格來說(因?yàn)橄透叱虒?duì)閉包的定義不同),立即執(zhí)行函數(shù)并不屬于閉包,它不滿足閉包的三個(gè)條件。...
摘要:和是兩種立即執(zhí)行函數(shù)的常見寫法,最初我以為是一個(gè)括號(hào)包裹匿名函數(shù),再在后面加個(gè)括號(hào)調(diào)用函數(shù),最后達(dá)到函數(shù)定義后立即執(zhí)行的目的,后來發(fā)現(xiàn)加括號(hào)的原因并非如此。 javascript和其他編程語言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時(shí)霧里看花,當(dāng)然,能理解各型各色的寫法也是對(duì)javascript語言特性更進(jìn)一步的深入理解。 ( function(){…} )...
摘要:要理解立即執(zhí)行函數(shù),需要先理解一些函數(shù)的基本概念。函數(shù)表達(dá)式使用關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見的函數(shù)表達(dá)式語法形式。 javascript和其他編程語言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時(shí)霧里看花,當(dāng)然,能理解各型各色的寫法也是對(duì)javascript語言特性更進(jìn)一步的深入理解。 ( functio...
摘要:將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見的函數(shù)表達(dá)式語法形式。組成這是一個(gè)被稱為自執(zhí)行匿名函數(shù)的設(shè)計(jì)模式,主要包含兩部分。 一、函數(shù)聲明&函數(shù)表達(dá)式 1.1 函數(shù)聲明 (函數(shù)語句) showImg(https://segmentfault.com/img/bVbbqvT?w=278&h=166); (1)使用 function 關(guān)鍵字聲明一個(gè)函數(shù),再指定一個(gè)函數(shù)名,叫函數(shù)聲明。...
摘要:函數(shù)防抖的要點(diǎn),是需要一個(gè)來輔助實(shí)現(xiàn),延遲運(yùn)行需要執(zhí)行的代碼。若計(jì)時(shí)期間事件沒有被重新觸發(fā),等延遲時(shí)間計(jì)時(shí)完畢,則執(zhí)行目標(biāo)代碼。而非立即執(zhí)行版指的是觸發(fā)事件后函數(shù)會(huì)立即執(zhí)行,然后秒內(nèi)不觸發(fā)事件才能繼續(xù)執(zhí)行函數(shù)的效果。。 JS中的函數(shù)防抖 一、什么是函數(shù)防抖 概念:函數(shù)防抖(debounce),就是指觸發(fā)事件后,在 n 秒內(nèi)函數(shù)只能執(zhí)行一次,如果觸發(fā)事件后在 n 秒內(nèi)又觸發(fā)了事件,則會(huì)重...
摘要:一般沒有問題,但是,建議在自己寫的立即執(zhí)行函數(shù)前加分號(hào),這樣可以有效地與前面代碼進(jìn)行隔離。否則,可能出現(xiàn)意想不到的錯(cuò)誤。自執(zhí)行函數(shù)前加個(gè)分號(hào)是什么意思寫法最前最后加括號(hào)推薦這種寫法外面加括號(hào)目前很多比較好的使用的都是第二種方式。 定義 立即執(zhí)行函數(shù)模式是一種語法,可以讓你的函數(shù)在定義后立即被執(zhí)行,這種模式本質(zhì)上就是函數(shù)表達(dá)式(命名的或者匿名的),在創(chuàng)建后立即執(zhí)行;立即執(zhí)行函數(shù)(imme...
閱讀 1179·2021-11-22 15:24
閱讀 4460·2021-09-23 11:51
閱讀 2320·2021-09-08 09:36
閱讀 3529·2019-08-30 15:43
閱讀 1308·2019-08-30 13:01
閱讀 1127·2019-08-30 12:48
閱讀 547·2019-08-29 12:52
閱讀 3381·2019-08-29 12:41