第7章 函數(shù)表達(dá)式

1拉一、定義函數(shù)的兩種方式:
1)函數(shù)聲明:存在函數(shù)聲明提升
2)函數(shù)表達(dá)式:使用前必須先賦值驼修;匿名函數(shù)(拉姆達(dá)函數(shù))

2锭碳、關(guān)于遞歸:
arguments.callee()指向正在執(zhí)行的函數(shù)的指針(嚴(yán)格模式下會報錯瓤漏,嚴(yán)格模式下改用函數(shù)表達(dá)式)

3扰付、閉包:有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù)
創(chuàng)建閉包的常見方式:在一個函數(shù)中創(chuàng)建另一個函數(shù)

來更通俗地理解一下:
我們用“變量對象”這個名詞來表示執(zhí)行環(huán)境
全局變量的“變量對象”一直存在
函數(shù)的“變量對象”只有在執(zhí)行的時候才存在

創(chuàng)建函數(shù)的時候此叠,會創(chuàng)建包含全局“變量對象”的作用域鏈
調(diào)用函數(shù)的時候纯续,有了執(zhí)行環(huán)境,作用域鏈就加上了該函數(shù)的“變量對象”

作用域鏈的組成:
arguments和其他命名參數(shù)的值初始化的活動對象------>
外部函數(shù)的活動對象------>
外部函數(shù)的外部函數(shù)的活動對象------>
..........------>
全局執(zhí)行環(huán)境

作用域本質(zhì)上是:指向變量對象的指針列表

外部函數(shù)執(zhí)行完以后灭袁,作用域鏈就會被銷毀猬错,但是直到包含的匿名函數(shù)銷毀后,他的活動對象才會被銷毀茸歧。

由于閉包攜帶包含它的函數(shù)的作用域倦炒,占用內(nèi)存更多,因此應(yīng)該慎重考慮使用它软瞎。

4逢唤、匿名函數(shù)的執(zhí)行環(huán)境具有全局性,因此this總是指向window
解決辦法:在創(chuàng)建閉包铜涉,也就是匿名函數(shù)之前智玻,就把this的值轉(zhuǎn)移賦值給另一個變量(例如that)

5、比較重要的一點(diǎn):匿名函數(shù)之模仿塊級作用域(私有作用域)
(function () {}) ();
避免向全局作用域中添加過多的變量和函數(shù)芙代,團(tuán)隊(duì)合作中很容易導(dǎo)致命名沖突吊奢。

6、私有變量包括函數(shù)的參數(shù)纹烹、局部變量页滚、函數(shù)內(nèi)部定義的其他函數(shù)
可以利用閉包來創(chuàng)建私有變量的共有方法(特權(quán)方法)
1)利用構(gòu)造函數(shù),缺點(diǎn)是對于每一個新實(shí)例都要創(chuàng)建一組同樣的方法組
2)靜態(tài)私有變量:利用了塊級作用域和原型模式铺呵,達(dá)到了方法復(fù)用裹驰,但是實(shí)例們沒有屬于自己的私有變量
*sp1)為單例創(chuàng)建特權(quán)方法:返回對象(特權(quán)方法在這)的匿名函數(shù)。
補(bǔ)充一下:js通過對象字面量來創(chuàng)建單例片挂,單例通常都是作為全局對象存在的幻林。
*sp2)適合特定類型----增強(qiáng)的模塊模式:先new再返回一個對象(帶有公共屬性和特權(quán)方法)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贞盯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沪饺,更是在濱河造成了極大的恐慌躏敢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件整葡,死亡現(xiàn)場離奇詭異件余,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)遭居,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門啼器,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俱萍,你說我怎么就攤上這事端壳。” “怎么了鼠次?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵更哄,是天一觀的道長。 經(jīng)常有香客問我腥寇,道長成翩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任赦役,我火速辦了婚禮麻敌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掂摔。我一直安慰自己术羔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布乙漓。 她就那樣靜靜地躺著级历,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叭披。 梳的紋絲不亂的頭發(fā)上寥殖,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機(jī)與錄音涩蜘,去河邊找鬼嚼贡。 笑死,一個胖子當(dāng)著我的面吹牛同诫,可吹牛的內(nèi)容都是我干的粤策。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼误窖,長吁一口氣:“原來是場噩夢啊……” “哼叮盘!你這毒婦竟也來了秩贰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤熊户,失蹤者是張志新(化名)和其女友劉穎萍膛,沒想到半個月后吭服,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚷堡,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年艇棕,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝌戒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡沼琉,死狀恐怖北苟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情打瘪,我是刑警寧澤友鼻,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站闺骚,受9級特大地震影響彩扔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜僻爽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一虫碉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胸梆,春花似錦敦捧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绪颖,卻和暖如春秽荤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背菠发。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工王滤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滓鸠。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓雁乡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親糜俗。 傳聞我的和親對象是個殘疾皇子踱稍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • //不要這么做 因?yàn)椴煌瑸g覽器對上面代碼理解不同曲饱,ie不管condition是否為真,都會執(zhí)行alert('Yo!...
    __越過山丘__閱讀 142評論 0 0
  • 定義函數(shù)的方式有兩種:函數(shù)聲明和函數(shù)表達(dá)式珠月。 函數(shù)聲明的一個重要特征就是函數(shù)聲明提升扩淀,意思是在執(zhí)行代碼前會先讀取函...
    oWSQo閱讀 661評論 0 0
  • 本章內(nèi)容 函數(shù)表達(dá)式的特征 使用函數(shù)實(shí)現(xiàn)遞歸 使用閉包定義私有變量 定義函數(shù)的方式有兩種:一種是函數(shù)聲明,另一種就...
    悶油瓶小張閱讀 351評論 0 0
  • 今天在仲裁委開庭啤挎,主持一個仲裁案件的庭審驻谆。 這是一起事實(shí)和法律都非常簡單的建筑工程施工合同糾紛,案件簡單到直接適用...
    珠海兔子閱讀 724評論 0 1
  • 有人說庆聘,身體和靈魂胜臊,總有一個在旅行。我想伙判,如果做不到靈魂的百分百旅行象对,那么,請將你的身體律動起來吧宴抚!畢竟旅行教給我...
    凝香泣露閱讀 443評論 1 3