js2

函數(shù)的兩種聲明方式


利用函數(shù)關(guān)鍵字進(jìn)行自定義(命名函數(shù))


function fn(){ } fu();


函數(shù)表達(dá)式(匿名函數(shù))


//var 變量名=function(){}; var fu=function(){ console.log('我是函數(shù)表達(dá)式'); }; //調(diào)用函數(shù) fu();


注意:


fu是變量名 不是函數(shù)名


函數(shù)表達(dá)式聲明跟聲明變量差不多,只不過變量里面存的是值黄选,函數(shù)表達(dá)式里面存的是函數(shù)


函數(shù)表達(dá)式也可以進(jìn)行參數(shù)傳遞


作用域


JS作用域:就是代碼名字(變量)在某個(gè)范圍內(nèi)起作用和效果,目的是為了提高程序的可靠性 ,更重要的是減少命名沖突


JavaScript (ES6前) 中的作用域有兩種:


全局作用域


局部作用域(函數(shù)作用域)


全局作用域


作用于所有代碼執(zhí)行的環(huán)境(整個(gè) script 標(biāo)簽內(nèi)部)或者一個(gè)獨(dú)立的 js 文件


局部(函數(shù))作用域


作用于函數(shù)內(nèi)的代碼環(huán)境,就是局部作用域咨演。 因?yàn)楦瘮?shù)有關(guān)系巢寡,所以也稱為函數(shù)作用域


JS沒有塊級(jí)作用域


塊作用域由 {} 包括


在其他編程語言中(如 java、c#等)亚隙,在 if 語句、循環(huán)語句中創(chuàng)建的變量违崇,僅僅只能在本 if 語句阿弃、本循環(huán)語句中使用,如下面的Java代碼:


if(true){ int num = 123; System.out.println(num); // 123 } System.out.println(num); // 報(bào)錯(cuò)


變量的作用域


在JS中根據(jù)作用域的不同羞延,變量可以分為兩種


全局變量


在全局作用域下聲明的變量叫做全局變量(在函數(shù)外部定義的變量)


全局變量在代碼的任何位置都可以使用


在全局作用域下 var 聲明的變量 是全局變量


特殊情況下渣淳,在函數(shù)內(nèi)不使用 var 聲明的變量也是全局變量(不建議使用)


局部變量


在局部作用域下聲明的變量叫做局部變量(在函數(shù)內(nèi)部定義的變量)


局部變量只能在該函數(shù)內(nèi)部使用


在函數(shù)內(nèi)部 var 聲明的變量是局部變量


函數(shù)的形參實(shí)際上就是局部變量


區(qū)別


全局變量:在任何一個(gè)地方都可以使用,只有在瀏覽器關(guān)閉時(shí)才會(huì)被銷毀伴箩,因此比較占內(nèi)存


局部變量:只在函數(shù)內(nèi)部使用水由,當(dāng)其所在的代碼塊被執(zhí)行時(shí),會(huì)被初始化;當(dāng)代碼塊運(yùn)行結(jié)束后砂客,就會(huì)被銷毀泥张,因此更節(jié)省內(nèi)存空間


作用域鏈


只要是代碼,就至少有一個(gè)作用域


寫在函數(shù)內(nèi)部的叫局部作用域


如果函數(shù)中還有函數(shù)鞠值,那么在這個(gè)作用域中就又可以誕生一個(gè)作用域


根據(jù)在內(nèi)部函數(shù)可以訪問外部函數(shù)變量的這種機(jī)制媚创,用鏈?zhǔn)讲檎覜Q定哪些數(shù)據(jù)能被內(nèi)部函數(shù)訪問,就稱作作用域鏈彤恶,采取就近原則


// 作用域鏈: 內(nèi)部函數(shù)訪問外部函數(shù)的變量钞钙,采取的是鏈?zhǔn)讲檎业姆绞絹頉Q定取哪個(gè)值,這種結(jié)構(gòu)我們稱為作用域鏈表 var num = 10; funtion fn() { //外部函數(shù) var num = 20; function fun() { //內(nèi)部函數(shù) console.log(num); // 20 ,一級(jí)一級(jí)訪問 } }


作用域鏈:采取就近原則的方式來查找變量最終的值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末声离,一起剝皮案震驚了整個(gè)濱河市芒炼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌术徊,老刑警劉巖本刽,帶你破解...
    沈念sama閱讀 212,657評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赠涮,居然都是意外死亡子寓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,662評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門笋除,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斜友,“玉大人,你說我怎么就攤上這事垃它∠势粒” “怎么了?”我有些...
    開封第一講書人閱讀 158,143評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵国拇,是天一觀的道長(zhǎng)洛史。 經(jīng)常有香客問我,道長(zhǎng)贝奇,這世上最難降的妖魔是什么虹菲? 我笑而不...
    開封第一講書人閱讀 56,732評(píng)論 1 284
  • 正文 為了忘掉前任靠胜,我火速辦了婚禮掉瞳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浪漠。我一直安慰自己陕习,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,837評(píng)論 6 386
  • 文/花漫 我一把揭開白布址愿。 她就那樣靜靜地躺著该镣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪响谓。 梳的紋絲不亂的頭發(fā)上损合,一...
    開封第一講書人閱讀 50,036評(píng)論 1 291
  • 那天省艳,我揣著相機(jī)與錄音,去河邊找鬼嫁审。 笑死跋炕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的律适。 我是一名探鬼主播辐烂,決...
    沈念sama閱讀 39,126評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼捂贿!你這毒婦竟也來了纠修?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,868評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤厂僧,失蹤者是張志新(化名)和其女友劉穎扣草,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吁系,經(jīng)...
    沈念sama閱讀 44,315評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡德召,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,641評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汽纤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片上岗。...
    茶點(diǎn)故事閱讀 38,773評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蕴坪,靈堂內(nèi)的尸體忽然破棺而出肴掷,到底是詐尸還是另有隱情,我是刑警寧澤背传,帶...
    沈念sama閱讀 34,470評(píng)論 4 333
  • 正文 年R本政府宣布呆瞻,位于F島的核電站,受9級(jí)特大地震影響径玖,放射性物質(zhì)發(fā)生泄漏痴脾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評(píng)論 3 317
  • 文/蒙蒙 一梳星、第九天 我趴在偏房一處隱蔽的房頂上張望赞赖。 院中可真熱鬧,春花似錦冤灾、人聲如沸前域。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,859評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匿垄。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間椿疗,已是汗流浹背漏峰。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届榄,地道東北人芽狗。 一個(gè)月前我還...
    沈念sama閱讀 46,584評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像痒蓬,于是被迫代替她去往敵國和親童擎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,676評(píng)論 2 351

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

  • JS字面量 數(shù)字字面量 字符串字面量 表達(dá)式字面量 數(shù)組字面量 對(duì)象字面量 函數(shù)字面量 JS數(shù)據(jù)類型 值類型(基本...
    Gu愿閱讀 441評(píng)論 0 0
  • 第五章******************************************************...
    fastwe閱讀 673評(píng)論 0 0
  • js組成部分:1攻晒、ECMAscript 核心語法2顾复、DOM3、BOMjs書寫方式:1鲁捏、行內(nèi)2芯砸、外聯(lián) 、在head...
    每天進(jìn)步一點(diǎn)點(diǎn)5454閱讀 396評(píng)論 0 0
  • 我眼中的js編程(1)主要介紹了js是用來做什么的给梅,這一篇開始及以后總結(jié)js具體該怎么用假丧。本篇總結(jié)了作用域內(nèi)變量和...
    閆浩奇閱讀 529評(píng)論 0 5
  • for in 語句——>遍歷字符串,數(shù)組和對(duì)象 for in語句是一種精準(zhǔn)的迭代語句动羽,可以用來枚舉對(duì)象的屬性 ...
    XiaoAM閱讀 223評(píng)論 0 7