最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript預(yù)解析之變量預(yù)解析和函數(shù)預(yù)解析

 更新時間:2022年07月27日 08:38:45   作者:困困子  
這篇文章主要介紹了JavaScript預(yù)解析之變量預(yù)解析和函數(shù)預(yù)解析的相關(guān)資料,需要的朋友可以參考下

首先了解預(yù)解析之前先看兩個問題

1.大家思考下  這個結(jié)果會是多少呢?

console.log(num);
var num=10;

結(jié)果是 undefined

2.這個輸出結(jié)果又會是多少呢?

fun();
var fun=function(){
    console.log(22);      
}

顯然這個結(jié)果報錯了。

那究竟為什么會這樣執(zhí)行呢?

1、我們js引擎運行js分為兩步: 預(yù)解析   代碼執(zhí)行

  • 預(yù)解析  js引擎會把js里面所有的var還有function提升到當(dāng)前作用域的最前面
  • 代碼執(zhí)行 按照代碼書寫的順序從上往下執(zhí)行

2、預(yù)解析分為  變量預(yù)解析(變量提升)和 函數(shù)預(yù)解析(函數(shù)提升)

  • 變量提升  就是把所有的變量聲明提升到當(dāng)前作用域最前面  不提升賦值操作
  • 函數(shù)提升  就是把所有函數(shù)聲明提升到當(dāng)前作用域的最前面  不調(diào)用函數(shù)

那我們第一個問題就相當(dāng)于執(zhí)行了以下代碼

var num;
console.log(num);
num=10;

第二個問題相當(dāng)于執(zhí)行了以下代碼

var fun;
fun();
fun=funciton(){
    console.log(22);
}

這下我們就可以看到  聲明了一個變量 但是沒有給值,接著又調(diào)用了fun()這個函數(shù),但是沒有這個函數(shù),肯定會報錯。
所以函數(shù)表達(dá)式調(diào)用必須要寫在函數(shù)表達(dá)式聲明的下面才可以。

相關(guān)文章

最新評論

诸城市| 张家口市| 镇平县| 卢氏县| 黄骅市| 龙川县| 安阳市| 牟定县| 铜鼓县| 沛县| 自贡市| 中卫市| 合作市| 华容县| 富阳市| 玛沁县| 靖江市| 宝丰县| 忻州市| 永登县| 游戏| 栾川县| 桂阳县| 日照市| 商城县| 林周县| 聂荣县| 富裕县| 石景山区| 宜丰县| 镇原县| 玉溪市| 楚雄市| 秭归县| 丽水市| 调兵山市| 满洲里市| 吴忠市| 佛冈县| 甘南县| 阜南县|