卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

html網(wǎng)頁 用JavaScript寫成的JavaScript解釋器,意義是什么?

用JavaScript寫成的JavaScript解釋器,意義是什么?對于一種語言來說,編寫自己的編譯器或解釋器被稱為“bootstrap”,這是一種非常重要的能力,有利于語言的改進(jìn)和發(fā)展。同時,它也是

用JavaScript寫成的JavaScript解釋器,意義是什么?

對于一種語言來說,編寫自己的編譯器或解釋器被稱為“bootstrap”,這是一種非常重要的能力,有利于語言的改進(jìn)和發(fā)展。同時,它也是一種“宣言”。我是圖靈完全,我很強(qiáng)大,我不依賴其他語言。

對于編譯語言(C/C/go等),引導(dǎo)更容易。但是JavaScript,一種解釋性的動態(tài)語言,更困難。因?yàn)镴S代碼總是在JS解釋器中執(zhí)行,如果JS解釋器也是用JS編寫的,那么誰負(fù)責(zé)執(zhí)行解釋器呢?

因此,從邏輯的角度來看,不管怎樣,必須有一個主機(jī)JS引擎來啟動,并且這個主機(jī)JS引擎不能由JS編寫。在主機(jī)JS引擎第一次執(zhí)行時,它將自己編譯成機(jī)器代碼,存儲在本地機(jī)器上,然后直接執(zhí)行機(jī)器代碼。它可以擺脫主機(jī),實(shí)現(xiàn)“自舉”。如果您感興趣,可以在GitHub上搜索“Tachyon”,它是這樣實(shí)現(xiàn)的。另外,其他依賴JS引擎的實(shí)現(xiàn)也不是自舉的。

這對程序員來說似乎沒有多大意義。如果你用JS編寫JS解釋器,就意味著你對該語言的規(guī)范有很好的理解,對編譯原則有很好的掌握。一句話,它的意思是非常強(qiáng)大。

能否用JS實(shí)現(xiàn)一個CSS解釋器?

任何可以被JS重寫的東西都會被JS重寫,更不用說解析器了,它已經(jīng)被重復(fù)實(shí)現(xiàn)了n次。學(xué)習(xí)過編譯原理的學(xué)生都知道解析器的理論已經(jīng)非常成熟?,F(xiàn)成的模板可以用任何語言實(shí)現(xiàn)。更重要的是,JS

首先從一個大的角度來思考這個問題,并分析它是什么。例如,HTML和CSS可以分類為模板和樣式。JS做各種前端效果,比如對頁面做倒計時。PHP做業(yè)務(wù)后臺處理,可以理解為一行。MySQL被理解為存儲東西的倉庫。最后,一個接一個。