成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

js中什么是變量提升?為什么會有變量提升?

JavaScript中什么是變量提升?本篇文章帶大家了解一下js中的變量提升,介紹一下為什么會有變量提升。

js中什么是變量提升?為什么會有變量提升?

js變量提升

JavaScript是單線程語言,所以執行肯定是按順序執行。但是并不是逐行的分析和執行,而是一段一段地分析執行,會先進行編譯階段然后才是執行階段。在編譯階段階段,代碼真正執行前的幾毫秒,會檢測到所有的變量和函數聲明,所有這些函數和變量聲明都被添加到名為Lexical Environment的JavaScript數據結構內的內存中。所以這些變量和函數能在它們真正被聲明之前使用。

先從一個簡單的例子來入手:

 a = 2;  var a;  console.log(a);

以上的代碼會輸出什么,假如這段代碼是從上到下執行的話,肯定會輸出undefined,然而JavaScript卻不是自上而下執行的語言。 這段代碼的輸出結果是2,意外嗎?那么,為什么會這樣,這個關鍵點就在于–變量提升。他會將當前作用域的所有變量的聲明,提升到程序的頂部,因此,上面的代碼等價于以下代碼,這樣是不是就能明白一些了?

 var a;  a = 2;  console.log(a);

那么我們再看一個例子:

 console.log(a);  var a = 2;

這段代碼又會輸出什么?輸出2嗎? 其實這段代碼會輸出undefined。這又是為什么呢?剛剛說過,JavaScript會將變量的聲明提升到頂部,但是賦值語句是不會提升的,對于js來說,var a = 2是分為兩步解析的:

var a; a = 2;

而js只會提升 var a 這句,所以剛剛的語句等價于:

 var a;  console.log(a);  a = 2;

那么,為什么會有變量提升?

為什么會出現變量提升這個現象呢? 因為js與其他語言一樣,都要經歷編譯跟執行階段。而js在編譯階段的時候,會搜集所有的變量聲明并且提前聲明變量,而其他的語句都不會改變他們的順序,因此,在編譯階段的時候,第一步就已經執行了,而第二部則是在執行階段執行到該語句的時候才執行。

變量聲明

js的變量聲明應該大體上可以分三種:var聲明、let與const聲明和函數聲明。 函數聲明與其他聲明一起出現的時候,就可能會引起一些沖突。我們接著往下看:

 fn();  function fn () {      console.log('fn');  }  var fn = 2;

你覺得會輸出什么?這么寫會報錯嗎? 其實輸出的結果是fn。這就解釋了我們剛剛的問題,當函數聲明與其他聲明一起出現的時候,是以誰為準呢?答案就是,函數聲明高于一切,畢竟函數是js的貴族階級。

那么多個函數聲明怎么辦呢?

 fn();  function fn () {      console.log('1');  }  function fn () {      console.log('2');  }

以上代碼輸出結果為2。這是因為有多個函數聲明的時候,是由最后的函數聲明來替代前面的

還有最后一個例子了:

 fn();  var fn = function () {  console.log('fn');  }

經過了上面的理解,再看這個是不是就很簡單了呀?這個跟第二個例子是一樣的,var fn = function() {}這種格式我們叫做函數表達式。 它其實也分為兩部分:

var fn; fn = function() {};

參考例2,我們可以知道,這個的結果應該是報錯了(因為fn聲明但未賦值,因此fn是undefined)。

總結

那么,來總結一下吧。

  • js會將變量的聲明提升到js頂部執行,對于var a = 2這種語句,會拆分開,將var a這步進行提升。

  • 變量提升的本質其實是js引擎在編譯的時候,就將所有的變量聲明了,因此在執行的時候,所有的變量都已經完成聲明。

  • 當有多個同名變量的時候,函數聲明會覆蓋其他的聲明。如果有多個函數聲明,則由最后一個函數聲明覆蓋之前的所有聲明。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲 欧美 激情 小说 另类| 我的少妇邻居全文免费| 色综合AV综合无码综合网站| 水多多凹凸福利视频导航| 婷婷五月花丁香综合| 性色AV极品无码专区亚洲AV| 亚洲AV无码专区国产乱码APP| 亚洲人亚洲精品成人网站| 中文精品久久久久人妻不卡| 99久久国语露脸精品国产色| 成年免费A级毛片无码| 国产精品久久国产精品99盘| 精品国产乱码久久久久夜深人妻| 狂野欧美性猛XXXX乱大交| 欧美最猛黑人XXXXX猛交| 少妇爆乳无码AV无码波霸| 香蕉久久久久久AV成人| 亚洲色噜噜噜噜噜噜国产| 51福利国产在线观看午夜天堂| 成 人 黄 色 网 站 18| 国产男女无遮挡猛进猛出| 久久久久久AV无码免费网站| 欧美性狂猛BBBBBBXXXX| 四虎永久在线精品国产馆V视影院 四虎永久免费地址WW41.6 | 久久婷婷人人澡人人爽人人喊| 欧美极品少妇XXXXⅩ猛交| 我和闺蜜在KTV被八人伦| 亚洲熟妇无码AV| 把腿张开我要CAO死你在线观看| 国产精品毛片无码一区二区蜜桃| 久久精品国产精品亚洲色婷婷| 欧美性爱在线视频| 亚洲AV成人无码精品综合网站| 中文字幕无码AV不卡一区| 国产成人精品999在线观看| 久久国产精品一国产精品金尊| 欧美在线视频一区二区| 午马视频影院1区2区3区4区| 制服中字人妻中字出轨中字| 公和我做好爽添厨房| 久久久国产精品ⅤA麻豆| 日本三线和韩国三线品牌对比| 亚洲AV日韩AV永久无码电影| 99国产欧美久久久精品蜜桃| 国产精品日日摸夜夜添夜夜添20 | 国产农村一国产农村无码毛片 | 国精产品W灬源码1H855.C| 欧美ZC00O人与善交| 西西人体午夜视频无码| 18禁动漫无码无遮挡免费看| 国产精品露脸视频观看| 免费无码又爽又高潮视频| 挺进绝色老师的紧窄小肉| 在线欧美熟妇内射高潮| 国产丰满麻豆VIDEOSSEX| 么公的粗大挺进了我的密道| 无码日韩人妻AV一区免费| 24小时在线看免费观看直播| 国产丝袜无码一区二区三区视频| 内射极品少妇一区二区av| 亚洲AⅤ无码一区二区三区| JEANASIS日本| 久久99精品久久久久免费| 日韩精品久久久久久久电影蜜臀 | 波多野结衣一区二区免费视频| 精品久久久久久久无码人妻热| 日本熟妇色XXXXX日本妇奷| 亚洲熟伦熟妇AV无码专区| 丰满少妇高潮惨叫久久久| 秘书在办公室被躁BD在线观看 | 日韩国产女人久久久| 夜夜高潮次次欢爽AⅤ女| 国产精品VIDEOSSEX久久发布| 奶头被几个流浪汉吃肿了| 亚洲AV无码专区亚洲AV漫画| 成人午夜福利视频| 炕上光着腚压在女人身上| 亚洲AⅤ无码天堂在线观看| 成人无码午夜在线观看| 妺妺窝人体色77777777| 亚洲精品白浆高清久久久久久| 丰满人妻妇伦又伦精品国产| 女人与公拘交酡ZOZO| 亚洲人成未满十八禁网站| 国产精品成人A区在线观看| 欧美专区日韩视频人妻| 一边做一边潮喷18P| 国产亚洲成AⅤ人片在线观看| 日本喷奶水中文字幕视频 | 美日韩AV成人影院| 亚洲人女屁股眼HD| 国产在线无码视频一区二区三区| 色噜噜人妻丝袜aV先锋影音先| 777米奇第四在线观看| 久久精品A亚洲国产V高清不卡| 午夜理论影院第九电影院| 丁丁一进一出动态图| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲中文字幕无码AV| 国语做受对白XXXXmp4| 国内精品伊人久久久久AV| 久久久久久久精品免费老鸭窝| 麻花传媒剧在线MV免费观看| 久久综合给合久久狠狠狠97色6| 拍摄AV现场失控高潮数次| 中文在线А√天堂官网| 久久精品国产精品亚洲下载| 亚洲AV日韩精品久久久久| 国产精品成人VA在线播放| 三上悠亚公侵犯344在线观看| JAVASCRIPTJAVA成熟亲子| 里番本子纯肉侵犯肉全彩无码| 亚洲精品卡一卡2卡3卡4卡| 国产无遮挡又黄又大又爽| 我趁老师睡觉摸她奶脱她内裤| 岛国片无删减上线| 日本少妇毛茸茸高潮| xxxxxx日本黄色| 欧美熟老妇人多毛OOXⅩ| AV男人在线东京天堂| 欧美黑人巨大VIDEOS极品 | 精品无码一区二区三区在线| 亚洲成A人片在线观看天堂无码不 亚洲成A人片在线观看天堂 | 亚洲VA无码专区国产乱码| 国产一产二产三精华液| 新狼窝色AV性久久久久久| 国产熟妇人妻ⅩXXXX麻豆网址| 无码人妻久久一区二区三区免费丨| 国产成 人 综合 亚洲专区| 婷深夜综合成人AⅤ网站| 国产成人精品A视频一区| 无码成人一区二区| 国产乱妇乱子视频在播放| 小雪你的奶好大把腿张开| 好姐妹高清在线韩国电影观看| 亚洲高清国产AV拍精品青青草原| 饥渴人妻被快递员玩弄的视频| 亚洲成a人片在线观看无码专区 | 国产AV激情无码久久| 婷婷国产三区四区| 国产亚洲AV综合人人澡精品| 亚洲国产精品VA在线观看麻豆| 精品无码AV一区二区三区| 亚洲色成人WWW永久网站| 久久无码中文字幕免费影院| 中文字幕日韩一区二区三区不卡 | 久久久久亚洲AV成人片一区| 中文精品久久久久国产网址| 欧美人妻久久精品| 成人AV无码一区二区三区 | 亚洲人成网77777色在线播放| 久久人爽人人爽人人片AV| 2021精品亚洲中文字幕| 欧洲站高端8码特大码47| 丰满人妻熟妇乱偷人无码出轨| 无码精品一区二区三区在线| 韩国免费A级作爱片视频| 亚洲人成无码区在线观看| 噜噜噜亚洲色成人网站∨| GOGO少妇无码肉肉视频| 色妞精品AV一区二区三区| 国产熟妇一区二区三区AⅤ在线| 亚洲色大成网站WWW在线| 男女啪啪激烈高潮喷出GIF免费| 办公室撕开奶罩揉吮奶头在线观看| 少妇人妻无码专用视频| 国产在线不卡人成视频| 亚洲一线产区二线产区区别在| 欧美成年黄网站色视频| 俄罗斯卖CSGO的网站| 亚洲A∨国产AV综合AV麻豆丫 | 亚洲一区二区三区AV无码蜜桃| 男男H黄漫画啪啪无遮挡| 成人乱婬AV日日摸夜夜爽| 无码人妻斩一区二区三区| 久久久久久精品无码人妻| YSL千人千色8610| 午夜精品久久久久久中宇| 撅高屁股乖乖被学长CAO男男| 啊灬啊灬啊灬快灬高潮少妇软件| 我一边做饭一边被躁了怎么回事| 精品蜜臀久久久久99网站| A级毛片成人网站免费看| 偷玩朋友熟睡人妻| 久久久久成人精品无码中文字幕| 99无人区码一码二码三码...| 玩弄肥美高大的熟妇| 久久老司机精品网站福利| 边做边爱免费视频| 亚洲AV永久无码精品无码电影| 男生和女生在一起差差差| 国产精品爆乳在线播放第一人称| 野花香视频在线观看社区| 日韩人妻无码一区2区3区里沙| 极品女教师波多野结衣电影衣 | 国产AV夜夜欢一区二区三区| 亚洲精品少妇XXXX| 日产乱码一二三区别免费| 精品国产三级A∨在线无码| 被陌生人在地铁揉到高潮|