色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

淺析JavaScript預(yù)編譯和暗示全局變量

瀏覽:88日期:2023-10-15 16:36:56

1. 暗示全局變量

未聲明的變量稱為暗示全局變量。

var a = 1; //函數(shù)體外聲明的變量稱為全局變量b = 2; // 無論函數(shù)體外或函數(shù)體內(nèi)未聲明的變量都稱為暗示全局變量function fn() { var c = 3; //函數(shù)體內(nèi)聲明的變量稱為局部變量 d = 4; // 暗示全局變量}fn(); // 若不執(zhí)行函數(shù),則不會(huì)進(jìn)行函數(shù)預(yù)編譯,d 就不會(huì)提升為全局變量console.log(c); // error: c is not definedconsole.log(d); // 4

2. JavaScript執(zhí)行過程

1. 語法分析,若存在低級(jí)語法錯(cuò)誤,則不編譯執(zhí)行;2. 預(yù)編譯,包括變量聲明提前和函數(shù)聲明提前;3. 解釋執(zhí)行,解釋一行,執(zhí)行一行。

3. 預(yù)編譯

預(yù)編譯可分為全局預(yù)編譯和函數(shù)預(yù)編譯。

預(yù)編譯可分為全局預(yù)編譯和函數(shù)預(yù)編譯。

1. 在js腳本加載之后,會(huì)先通篇檢查是否存在低級(jí)錯(cuò)誤;2. 在語法檢測完之后,便進(jìn)行全局預(yù)編譯;3. 在全局預(yù)編譯之后,就解釋一行,執(zhí)行一行;4. 當(dāng)執(zhí)行到函數(shù)調(diào)用那一行,會(huì)先進(jìn)行函數(shù)預(yù)編譯,再往下執(zhí)行。

全局預(yù)編譯:

1. 創(chuàng)建全局對(duì)象GO(window對(duì)象);2. 變量聲明提前,將所有變量的聲明放到最前面,作為GO對(duì)象的屬性,并賦值undefined,若存在變量名相同,只聲明一個(gè);3. 函數(shù)聲明提前,將函數(shù)聲明也放到最前面,作為GO對(duì)象的屬性,若函數(shù)名與變量名相同,變量名會(huì)被函數(shù)名覆蓋,值是函數(shù)體。這就是函數(shù)定義放到函數(shù)調(diào)用之前或之后都可以的原因。

函數(shù)預(yù)編譯:

1. 在函數(shù)執(zhí)行前的一瞬間,函數(shù)預(yù)編譯閃亮登場;2. 先創(chuàng)建一個(gè)AO對(duì)象(Active Object);3. 將形參和變量聲明提前,賦值undefined,作為AO的屬性;4. 將實(shí)參賦值給形參;5. 函數(shù)聲明提前,值為函數(shù)體,作為AO的屬性。

栗子:

var a = 1;function b(c){ console.log(c); var c = 2; console.log(c); function c() {} var d = 3; function e() {}}b(4);

先分析全局預(yù)編譯,

創(chuàng)建GO對(duì)象,GO = {}; 變量聲明提前

// 偽代碼GO = { a = undefined} 函數(shù)聲明提前

// 偽代碼GO = { a = undefined b = f b(c) { console.log(c); ... }}

再分析函數(shù)預(yù)編譯,

創(chuàng)建AO對(duì)象,AO = {}; 形參和變量聲明提前;

// 偽代碼AO = { c = undefined // 與變量名相同,只聲明一個(gè)d = undefined} 將實(shí)參賦值給形參;

// 偽代碼AO = { c = 4 // b(4),傳入的實(shí)參是4d = undefined} 函數(shù)聲明提前

// 偽代碼AO = { c = f c() {} // 函數(shù)名會(huì)覆蓋變量名d = undefinede = f e() {}}

所以第一次打印變量c的時(shí)候,是輸出函數(shù)體,而不是實(shí)參4。

以上就是淺析JavaScript預(yù)編譯和暗示全局變量的詳細(xì)內(nèi)容,更多關(guān)于JavaScript預(yù)編譯和暗示全局變量的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 最刺激黄a大片免费观看下截 | 美女视频免费看视频网站 | 欧洲精品一区二区三区在线观看 | 欧美黄色特级视频 | 亚洲午夜在线 | 日韩最新中文字幕 | 免费aⅴ片 | 96精品视频在线播放免费观看 | 99在线观看视频免费 | 久久国产视屏 | 精品久久久久久综合网 | 九九香蕉 | 欧美亚洲黄色 | 成人毛片免费观看视频 | 国产免费亚洲 | 精品外国呦系列在线观看 | 色播基地| 国产精品久久做爰 | 亚洲精品无码不卡 | 成人国产精品 | 欧美在线 | 欧美 | 欧美一区二区在线免费观看 | 三级免费毛片 | 久久精品久久精品国产大片 | 免费一级成人毛片 | 美女视频一区二区三区 | 国产三级三级三级三级 | 亚洲成年人在线观看 | 亚洲免费一 | 久草福利在线观看 | 亚洲第一区在线 | 国产成人在线视频免费观看 | 香港三澳门三日本三级 | 免费一区二区三区 | 久久综合久久精品 | 精品国产理论在线观看不卡 | 欧美一区二区三区免费播放 | 国产精品无码久久久久 | 国美女福利视频午夜精品 | 免费看欧美日韩一区二区三区 | 一本伊大人香蕉高清在线观看 |