亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

詳解javascript 變量提升(Hoisting)

2024-05-06 16:48:57
字體:
來源:轉載
供稿:網友

簡介

變量提升”意味著變量和函數的聲明會在物理層面移動到代碼的最前面,但這么說并不準確。 

實際上變量和函數聲明在代碼里的位置是不會動的,而是在編譯階段被放入內存中。

聲明變量的方法

var、let、const 

不用以上關鍵字直接賦值的變量會掛載與windows環境下;

let a=9const a=1var a=6c=5

聲明函數的方法

javascript中聲明函數的方法有兩種:函數聲明式和函數表達式。

//函數聲明function say(){  console.log('hello') }//函數表達式var say=function (){  console.log('hello') }

提升的好處

JavaScript 在執行任何代碼段之前,將函數聲明放入內存中的優點之一是,這允許你可以在在聲明該函數之前使用一個函數。

/*** 正確的方式:先聲明函數,再調用函數 (最佳實踐)*/function catName(name) {  console.log("我的貓名叫 " + name);}catName("Tigger");/*以上代碼的執行結果是: "我的貓名叫 Tigger"*//*** 不推薦的方式:先調用函數,再聲明函數 */catName("Chloe");function catName(name) {  console.log("我的貓名叫 " + name);}/*代碼執行的結果是: "我的貓名叫 Chloe"*/

提升規則

  • var 聲明的變量,提升時只聲明,不賦值,默認為undefined;不用關鍵字直接賦值的變量不存在提升(demo1)
  • 函數提升會連帶函數體一起提升,不執行;(deom2)
  • 預解析的順序是從上到下;(demo4)
  • 函數的優先級高于變量,函數聲明提前到當前作用域最頂端;(deom3)
  • 變量重名,提升時不會重復定義;在執行階段后面賦值的會覆蓋上面的賦值;(demo4)
  • 函數重名,提升時后面的會覆蓋前面;(demo5)
  • 函數和變量重名,提升函數,不會重復定義,變量不會覆蓋函數;在執行階段后面賦值的會覆蓋上面的賦值;(demo8)
  • 用函數表達式聲明函數,會按照聲明變量規則進行提升;(deom6)
  • 函數執行時,函數內部的變量聲明和函數聲明也按照以上規則進行提升;(deom7)
  • let、const不存在提升;(demo9、demo10)
/**demo1**/console.log('a=',a) //a=undefinedconsole.log('b=',b) // Uncaught ReferenceError: b is not definedvar a=1b=6/**deom2**/console.log('a=',a) // a=function a() {console.log("func a()")}function a() {console.log("func a()")}/**deom3**/console.log('a=',a) // a=function a() {console.log("fun a")}var a=3var a=4function a(){console.log("fun a")}var a=5var a=6console.log("a=",a) // a=6 /**deom4**/console.log('a=',a) // a=undefinedvar a =2console.log('a=',a) //var a =3var a =4console.log('a=',a) // a=4console.log('b=',b) //b= undefinedvar b='b1'/**deom5**/console.log('a=',a) // a=function a() {console.log("a2")}function a(){console.log("a1")}function a(){console.log("a2")}console.log('a=',a) // a=function a() {console.log("a2")}/**deom6**/console.log('a=',a) // a=undefinedvar a=function(){console.log('a1')}var a=3var a=4var a=5console.log(a)var a=function(){console.log('a2')}console.log('a=',a) // a= ƒ (){console.log('a2')}/**deom7**/console.log('b=',b)var a=3function b(i){  console.log('a=',a)  var a=4  function a(){    console.log('fun a')  }  console.log('a=',a)}b()/**demo8**/console.log('a=',a) //a= function a(){ console.log('fun a')}var a=2function a(){  console.log('fun a')}console.log('a=',a) // a=2var a=3var a=4var a=5console.log('a=',a) // a=5/**demo9**/console.log('a=',a) //Uncaught ReferenceError: a is not definedlet a=4/****/<!--demo10-->console.log('b=',b) // Uncaught ReferenceError: b is not definedconst b=5

參考資料

MDN

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品无人区太爽高潮在线播放| 91po在线观看91精品国产性色| 国产精品亚洲第一区| 这里只有精品视频在线| 伊人伊成久久人综合网站| 色噜噜亚洲精品中文字幕| 一个人www欧美| 97视频免费在线观看| 欧美精品精品精品精品免费| 日韩视频永久免费观看| 国产婷婷成人久久av免费高清| 国产精品美女在线观看| 国产精品免费小视频| 国产美女久久精品| 97人人模人人爽人人喊中文字| 国产精品白嫩初高中害羞小美女| 国产精品综合久久久| 美女精品久久久| 中文字幕亚洲一区二区三区五十路| 亚洲人成网站777色婷婷| 美日韩精品免费视频| 日韩av在线免费观看一区| 日本精品免费一区二区三区| 久久不射电影网| 91精品久久久久久久久久久| 日韩中文娱乐网| 中文字幕免费精品一区高清| 国产精品入口福利| 国产精品久久久久久久av大片| 久久99亚洲精品| 国产精品高潮粉嫩av| 黑人巨大精品欧美一区二区免费| 国产伦精品一区二区三区精品视频| 国产精品久久久久久久久久东京| 欧美日韩国产一中文字不卡| 欧美另类99xxxxx| 欧美精品九九久久| 精品亚洲国产视频| 深夜成人在线观看| 欧美一区二区三区免费视| 96pao国产成视频永久免费| 国产成人+综合亚洲+天堂| 免费成人高清视频| 亚洲区免费影片| 久久久久久香蕉网| 亚洲精品美女免费| 亚洲夜晚福利在线观看| 精品美女久久久久久免费| 日本一区二区三区四区视频| 九九久久精品一区| 国产精品午夜视频| 国产亚洲人成网站在线观看| 欧美片一区二区三区| 国产精品一久久香蕉国产线看观看| 亚洲日本aⅴ片在线观看香蕉| 亚洲美女视频网| 在线观看久久久久久| 高清一区二区三区四区五区| 美女啪啪无遮挡免费久久网站| 国产69精品久久久久久| 久久乐国产精品| 国产精品成av人在线视午夜片| 91精品国产乱码久久久久久久久| 国产精品久久久久久久久久久久| 欧美怡春院一区二区三区| 超碰日本道色综合久久综合| 日韩中文字幕视频在线观看| 亚洲伊人一本大道中文字幕| 久久精品视频在线播放| 777777777亚洲妇女| 国产精品a久久久久久| 国产精品欧美一区二区三区奶水| 中文字幕久久亚洲| 国产成人精品综合| 国产91精品久久久久久| 91免费视频国产| 久久韩国免费视频| 亚洲欧美变态国产另类| 在线国产精品视频| 亚洲va男人天堂| 国产91精品黑色丝袜高跟鞋| 成人黄在线观看| 国产一区二区三区网站| 欧美性xxxxx极品| 久久国产精品久久久| 青青在线视频一区二区三区| 亚洲黄色成人网| 欧美国产日韩一区二区三区| 国产精品高精视频免费| 亚洲美女在线看| 亚洲精品第一国产综合精品| 国产精品日日做人人爱| 欧美激情三级免费| 日韩欧美精品网址| 欧美亚洲国产日本| www.日韩系列| 欧美激情啊啊啊| 亚洲男人天堂久| 狠狠爱在线视频一区| 91精品国产综合久久久久久久久| 亚洲a一级视频| 日韩大陆毛片av| 大量国产精品视频| 欧美另类极品videosbest最新版本| 亚洲欧洲激情在线| 日韩在线观看网站| 成人午夜在线影院| 国产极品jizzhd欧美| 最近的2019中文字幕免费一页| 国产精品黄页免费高清在线观看| 国产91精品高潮白浆喷水| 日韩精品视频在线免费观看| 亚洲精品一区久久久久久| 国产精品午夜国产小视频| 黄色成人在线播放| 欧美在线视频观看| 狠狠操狠狠色综合网| 日韩精品在线第一页| 亚洲国产日韩欧美在线图片| 亚洲 日韩 国产第一| 国产日韩一区在线| 全亚洲最色的网站在线观看| 91国内揄拍国内精品对白| 欧美日韩国产精品一区二区不卡中文| 国内免费久久久久久久久久久| 午夜精品久久久久久久久久久久久| 亚洲国产又黄又爽女人高潮的| 亚洲精品久久久久久下一站| 日韩日本欧美亚洲| 亚洲自拍小视频| 亚洲欧美成人网| 国产精品久久久久影院日本| 日韩欧美亚洲范冰冰与中字| 日韩一区二区精品视频| 精品福利在线视频| 欧美国产日韩精品| 日韩av毛片网| 欧美国产在线视频| 国产精品久久久精品| 亚洲第一区中文字幕| 国内精品久久久久久中文字幕| 久久久亚洲天堂| 亚洲www在线| 国产精品丝袜白浆摸在线| 欧美日韩裸体免费视频| 亚洲最新视频在线| 欧美专区中文字幕| 78m国产成人精品视频| 97国产精品人人爽人人做| 欧美日韩亚洲精品内裤| 国产亚洲免费的视频看| 欧美精品www在线观看| 亚洲综合中文字幕在线观看| 91av中文字幕| 国产色综合天天综合网| 亚洲美女动态图120秒| 亚洲精品美女在线观看播放| 久久电影一区二区| 国产欧美一区二区三区视频| 欧美日韩高清区| 色综合久久悠悠| 色综合天天综合网国产成人网| 国语自产精品视频在线看| 欧美日韩视频免费播放|