js的變量提升和函數(shù)提升

一、變量提升

在ES6之前葱跋,JavaScript沒有塊級(jí)作用域(一對(duì)花括號(hào){}即為一個(gè)塊級(jí)作用域)喻圃,只有全局作用域和函數(shù)作用域。變量提升即將變量聲明提升到它所在作用域的最開始的部分村视。上個(gè)簡(jiǎn)歷的例子如:

console.log(global);// undefined

varglobal ='global';

console.log(global);// global

functionfn () {

console.log(a);// undefined

vara ='aaa';

console.log(a);// aaa

}

fn();

之所以會(huì)是以上的打印結(jié)果,是由于js的變量提升酒奶,實(shí)際上上面的代碼是按照以下來(lái)執(zhí)行的:

varglobal;// 變量提升蓖议,全局作用域范圍內(nèi),此時(shí)只是聲明讥蟆,并沒有賦值

console.log(global);// undefined

global ='global';// 此時(shí)才賦值

console.log(global);// 打印出global

functionfn () {

vara;// 變量提升勒虾,函數(shù)作用域范圍內(nèi)

console.log(a);

a ='aaa';

console.log(a);

}

fn();

二、函數(shù)提升

js中創(chuàng)建函數(shù)有兩種方式:函數(shù)聲明式和函數(shù)字面量式瘸彤。只有函數(shù)聲明才存在函數(shù)提升修然!如:


console.log(f1);// function f1() {}

console.log(f2);// undefined

functionf1() {}

varf2 =function() {}

只所以會(huì)有以上的打印結(jié)果,是由于js中的函數(shù)提升導(dǎo)致代碼實(shí)際上是按照以下來(lái)執(zhí)行的:


functionf1() {}// 函數(shù)提升质况,整個(gè)代碼塊提升到文件的最開始
     console.log(f1);

console.log(f2);

varf2 =function() {}

結(jié)語(yǔ):基本上就是這樣愕宋,要熟練掌握的話可以多做些練習(xí),test:


console.log(f1());

console.log(f2);

functionf1() {console.log('aa')}

varf2 =function() {}


(function() {

console.log(a);

a ='aaa';

vara ='bbb';

console.log(a);

})();

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末结榄,一起剝皮案震驚了整個(gè)濱河市中贝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臼朗,老刑警劉巖邻寿,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝎土,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡绣否,警方通過(guò)查閱死者的電腦和手機(jī)誊涯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒜撮,“玉大人暴构,你說(shuō)我怎么就攤上這事《文ィ” “怎么了取逾?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)苹支。 經(jīng)常有香客問(wèn)我菌赖,道長(zhǎng),這世上最難降的妖魔是什么沐序? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮堕绩,結(jié)果婚禮上策幼,老公的妹妹穿的比我還像新娘。我一直安慰自己奴紧,他們只是感情好特姐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著黍氮,像睡著了一般唐含。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沫浆,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天捷枯,我揣著相機(jī)與錄音,去河邊找鬼专执。 笑死淮捆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的本股。 我是一名探鬼主播攀痊,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拄显!你這毒婦竟也來(lái)了苟径?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤躬审,失蹤者是張志新(化名)和其女友劉穎棘街,沒想到半個(gè)月后蟆盐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹬碧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年舱禽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恩沽。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡誊稚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出罗心,到底是詐尸還是另有隱情里伯,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布渤闷,位于F島的核電站疾瓮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏飒箭。R本人自食惡果不足惜狼电,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弦蹂。 院中可真熱鬧肩碟,春花似錦、人聲如沸凸椿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)脑漫。三九已至髓抑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間优幸,已是汗流浹背吨拍。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留网杆,地道東北人密末。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像跛璧,于是被迫代替她去往敵國(guó)和親严里。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

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