摘要:代碼自上而下執(zhí)行,但是在代碼執(zhí)行前,會(huì)首先進(jìn)行詞法分析,所以事實(shí)上,運(yùn)行要分為詞法分析和執(zhí)行兩個(gè)階段。分析函數(shù)聲明如如果上沒有屬性,則把函數(shù)賦給屬性如果上有屬性,則會(huì)直接覆蓋,把函數(shù)賦給屬性
JavaScript代碼自上而下執(zhí)行,但是在js代碼執(zhí)行前,會(huì)首先進(jìn)行詞法分析,所以事實(shí)上,js運(yùn)行要分為詞法分析和執(zhí)行兩個(gè)階段。
詞法分析
詞法分析主要分為3步:
第1步:分析形參
第2步:分析變量聲明
第3步:分析函數(shù)聲明
如果存在函數(shù)嵌套,則從外往內(nèi)進(jìn)行詞法分析
具體步驟:
0、在函數(shù)執(zhí)行的一瞬間,生產(chǎn) Active Object(活動(dòng)對(duì)象)
1.1 函數(shù)聲明的形參,形成AO的屬性,默認(rèn)值是undefined,
1.2 接收形參,給剛剛形成AO的屬性的形參賦值
2.1 如果AO上還沒有age屬性,則給AO添加age屬性,默認(rèn)值是undefined
2.2 如果AO上已經(jīng)有age屬性,則不做任何操作。
3.1 如果AO上沒有foot屬性,則把函數(shù)賦給AO.foot屬性
3.2 如果AO上有foot屬性,則會(huì)直接覆蓋,把函數(shù)賦給AO.foot屬性
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85013.html
摘要:先說下這個(gè)老話題連續(xù)賦值例結(jié)果是什么這句簡(jiǎn)單,而這句呢答案是,變成了全局變量了這是實(shí)際執(zhí)行順序未使用聲明,所以變?nèi)肿兞苛死茉缫郧暗拿嬖囶}目了,相信很多人知道答案,考點(diǎn)詞法分析執(zhí)行順序運(yùn)算符優(yōu)先級(jí)等這是我理解的實(shí)際執(zhí)行順序我是這么猜想的自 先說下這個(gè)老話題:連續(xù)賦值 例1: function a(){ var o1 = o2 = 5; } a(); console.l...
摘要:一般的程序,是無法直接執(zhí)行的,因?yàn)橹荒茏R(shí)別機(jī)器指令。所以要想執(zhí)行一個(gè)程序,首先要將高級(jí)語言編寫的程序翻譯為匯編代碼,再將匯編代碼翻譯為機(jī)器指令,這樣才能識(shí)別并執(zhí)行。 編譯器 編譯器是一個(gè)程序,作用是將一門語言翻譯成另一門語言。 一般的程序,CPU 是無法直接執(zhí)行的,因?yàn)?CPU 只能識(shí)別機(jī)器指令。所以要想執(zhí)行一個(gè)程序,首先要將高級(jí)語言編寫的程序翻譯為匯編代碼,再將匯編代碼翻譯為機(jī)器指令...
摘要:引擎會(huì)在代碼執(zhí)行前進(jìn)行詞法分析,所以事實(shí)上,運(yùn)行分為此法分析和執(zhí)行兩個(gè)階段。詞法作用域所謂詞法作用域是說,其作用域?yàn)樵诙x時(shí)詞法分析時(shí)就確定下來的,而并非在執(zhí)行時(shí)確定。 先來看個(gè)常見的面試題如下: var a = 10; function test(){ alert(a); //undefined var a = 20; alert(a); //20 } te...
摘要:引擎會(huì)在代碼執(zhí)行前進(jìn)行詞法分析,所以事實(shí)上,運(yùn)行分為此法分析和執(zhí)行兩個(gè)階段。詞法作用域所謂詞法作用域是說,其作用域?yàn)樵诙x時(shí)詞法分析時(shí)就確定下來的,而并非在執(zhí)行時(shí)確定。 先來看個(gè)常見的面試題如下: var a = 10; function test(){ alert(a); //undefined var a = 20; alert(a); //20 } te...
閱讀 1647·2021-10-27 14:13
閱讀 1888·2021-10-11 10:59
閱讀 3387·2021-09-24 10:26
閱讀 1940·2019-08-30 12:48
閱讀 3049·2019-08-30 12:46
閱讀 2047·2019-08-30 11:16
閱讀 1432·2019-08-30 10:48
閱讀 2752·2019-08-29 16:54