javascript入門 用JavaScript寫成的JavaScript解釋器,意義是什么?
用JavaScript寫成的JavaScript解釋器,意義是什么?對(duì)于一種語(yǔ)言來(lái)說(shuō),編寫自己的編譯器或解釋器被稱為“bootstrap”,這是一種非常重要的能力,有利于語(yǔ)言的改進(jìn)和發(fā)展。同時(shí),它也是
用JavaScript寫成的JavaScript解釋器,意義是什么?
對(duì)于一種語(yǔ)言來(lái)說(shuō),編寫自己的編譯器或解釋器被稱為“bootstrap”,這是一種非常重要的能力,有利于語(yǔ)言的改進(jìn)和發(fā)展。同時(shí),它也是一種“宣言”。我是圖靈完全,我很強(qiáng)大,我不依賴其他語(yǔ)言。
對(duì)于編譯語(yǔ)言(C/C/go等),引導(dǎo)更容易。但是JavaScript,一種解釋性的動(dòng)態(tài)語(yǔ)言,更困難。因?yàn)镴S代碼總是在JS解釋器中執(zhí)行,如果JS解釋器也是用JS編寫的,那么誰(shuí)負(fù)責(zé)執(zhí)行解釋器呢?
因此,從邏輯的角度來(lái)看,不管怎樣,必須有一個(gè)主機(jī)JS引擎來(lái)啟動(dòng),并且這個(gè)主機(jī)JS引擎不能由JS編寫。在主機(jī)JS引擎第一次執(zhí)行時(shí),它將自己編譯成機(jī)器代碼,存儲(chǔ)在本地機(jī)器上,然后直接執(zhí)行機(jī)器代碼。它可以擺脫主機(jī),實(shí)現(xiàn)“自舉”。如果您感興趣,可以在GitHub上搜索“Tachyon”,它是這樣實(shí)現(xiàn)的。另外,其他依賴JS引擎的實(shí)現(xiàn)也不是自舉的。
這對(duì)程序員來(lái)說(shuō)似乎沒有多大意義。如果你用JS編寫JS解釋器,就意味著你對(duì)該語(yǔ)言的規(guī)范有很好的理解,對(duì)編譯原則有很好的掌握。一句話,它的意思是非常強(qiáng)大。
JavaScript被解釋器解釋成什么?
大多數(shù)瀏覽器使用V8。你可以檢查它寫了什么。如果你沒記錯(cuò)的話,它應(yīng)該是c。所以不管是什么語(yǔ)言,計(jì)算機(jī)只知道0和1,所以它需要通過CPU,所以它不能逃脫程序集。
自己想想這個(gè)邏輯。
具體實(shí)現(xiàn)就像在頁(yè)面上制作計(jì)算器的原理。編寫方法,等待用戶輸入,然后執(zhí)行結(jié)果。
web前端初學(xué)者如何系統(tǒng)學(xué)習(xí)JavaScript?
JavaScript在前端開發(fā)中非常重要。但很多人都是自學(xué)前端,都死在JavaScript部分。
這是一個(gè)很好的問題,因?yàn)槿绻悴荒芟到y(tǒng)地學(xué)習(xí),很難掌握好它。說(shuō)白了,方法是錯(cuò)誤的,努力是徒勞的。
JavaScript是一種基于對(duì)象的編程語(yǔ)言。目前,市場(chǎng)上有很多應(yīng)用。
數(shù)據(jù)類型、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、關(guān)鍵字、函數(shù)、語(yǔ)法規(guī)范。就像學(xué)說(shuō)話一樣。先學(xué)拼音。
第2步:Dom和BOM
學(xué)習(xí)操作頁(yè)面元素,完成基本網(wǎng)頁(yè)特效的開發(fā)
第3步:JSON
JSON數(shù)據(jù)是交互中使用的基本數(shù)據(jù)方法,需要理解
第4步:ES6
es678還可以,主要學(xué)習(xí)箭頭函數(shù)、承諾、異步/等待和解構(gòu)學(xué)好原生JS,能夠結(jié)合HTML和CSS完成以下基本的前端開發(fā):
構(gòu)建靜態(tài)站點(diǎn)
構(gòu)建UI布局(獲取設(shè)計(jì)可以使用HTML/CSS還原)
添加一些交互功能
部署和維護(hù)網(wǎng)站
可以算是初學(xué)者
如果你想了解更多的前端開發(fā)內(nèi)容,大家可以關(guān)注一下我,平時(shí)我會(huì)把很多前端行業(yè)的經(jīng)驗(yàn)更新和干貨拿出來(lái),希望對(duì)大家的學(xué)習(xí)有幫助
我們說(shuō)的網(wǎng)頁(yè)前端三劍客:HTML、CSS和JavaScript。它們似乎是三種不同的技術(shù),但在實(shí)踐中它們是一起使用的。
Html是超文本標(biāo)記語(yǔ)言的縮寫,是一種不嚴(yán)謹(jǐn)、簡(jiǎn)單的標(biāo)記語(yǔ)言。它使用各種標(biāo)記來(lái)組織頁(yè)面中的元素,并告訴瀏覽器如何顯示內(nèi)容。
JavaScript是一種腳本語(yǔ)言,也就是說(shuō),它可以在客戶端或服務(wù)器上運(yùn)行。JavaScript的解釋器是JS引擎,JS引擎是瀏覽器的一部分。JavaScript主要用于擴(kuò)展文檔交互的能力,使靜態(tài)HTML具有一定的交互行為(如表單提交、動(dòng)畫效果、彈出窗口等)。
在99%的情況下,三者一起使用,但它們不是絕對(duì)的。具體關(guān)系如下:
HTML、CSS和JS是不同的技術(shù),可以獨(dú)立存在;
CSS通常不能與HTML或XML分離。如果CSS與HTML和XML分開,就不需要存在;
JS可以獨(dú)立于HTML和CSS存在;
JS可以操作HTML和CSS。
結(jié)論:如果把html比作身體,CSS就像衣服,而JavaScript意味著人們可以做的一些高級(jí)動(dòng)作。