本文主要介紹js變量提升是什么意思(js函數(shù)提升還是變量提升在先),下面一起看看js變量提升是什么意思(js函數(shù)提升還是變量提升在先)相關(guān)資訊。
第一,變量推廣
在es6之前,javascript沒有塊級作用域(一對花括號{}是塊級作用域),只有全局作用域和函數(shù)作用域。變量提升是將變量聲明提升到其作用域的最開始。
上一份簡歷的例子如下:
console.log(全局);//undefinedvar global = ;全球 ;console.log(全局);//global function fn{ console . log(a);//undefinedvar a = ;aaa ;console . log(a);//aaa } fn;之所以會出現(xiàn)上面的打印結(jié)果,是因為js的變量提升,其實上面的代碼是按照如下執(zhí)行的:
風險值全球。//變量提升,在全局范圍內(nèi),此時只聲明,不賦console . log(global);//undefined global = ;全球 ;//此時只分配console.log(全局);//打印出global function fn{ var a;//變量提升,console.log(a)在函數(shù)范圍內(nèi);a = aaa ;consol:。
console . log(f1);//函數(shù)f1{ } console . log(f2);//undefined function f1{ } var f2 = function{ }以上打印結(jié)果只是由于js中的函數(shù)升級,實際導致代碼執(zhí)行如下:
函數(shù)f1 {} //函數(shù)升級,整個代碼塊升級到文件的最開始,br console . log(f1);console . log(f2);var f2 = function {}結(jié)論:即 基本上就是這樣。t:,如果你想熟練掌握它,你可以做更多的練習。
console . log(f1);console . log(f2);函數(shù)f1{ console . log( ;aa )}var f2= function {}(函數(shù){ console . log(a);a = aaa ;var a = bbb ;console . log(a);});以上基于js的變量推廣和函數(shù)推廣(詳解)就是邊肖給大家分享的全部內(nèi)容。希望能給大家一個參考,也希望大家多多支持。
標簽:
提升函數(shù)動作變量聲明
了解更多js變量提升是什么意思(js函數(shù)提升還是變量提升在先)相關(guān)內(nèi)容請關(guān)注本站點。