Značenje interpretiranog ili sastavljenog u JavaScript-u

click fraud protection

Računala zapravo ne mogu pokrenuti kôd koji ste upisali JavaScript (ili bilo kojeg drugog jezika u vezi s tim). Računala mogu pokrenuti samo strojni kod. Strojni kod koji pojedino računalo može pokrenuti definira se unutar procesora koji će izvoditi te naredbe i može biti različit za različite procesore.

Očito, stroj za pisanje bilo teško za ljude (125 je naredba dodavanja ili je 126 ili možda 27). Da bi se riješio taj problem, stvoreni su i poznati jezici za sklapanje. Ovi su jezici koristili očitija imena za naredbe (kao što je ADD za dodavanje) te su na taj način uklonili potrebu za pamćenjem točnih strojnih kodova. Jezici skupštine i dalje imaju odnos jedan na jedan s određenim procesorom i strojnim kodom u koje računalo pretvara te naredbe.

Jezici skupštine moraju se sastaviti ili protumačiti

Vrlo rano shvatilo se da je lakše pisati Jezici bili potrebni i da bi se računalo moglo koristiti za prevođenje onih uputstava za strojni kod koje računalo zapravo može razumjeti. Dva su pristupa koja su se mogla koristiti s ovim prijevodom i izabrana su oba načina (upotrijebit će se jedan ili drugi, ovisno o jeziku koji se koristi i mjestu na kojem se vodi).

instagram viewer

Sastavljeni jezik je onaj na kojem jednom kad je program napisan, unosite kod putem programa zvanog a kompajler što stvara verziju programa za strojni kod. Kad želite pokrenuti program, jednostavno nazovite verziju strojnog koda. Ako napravite promjene u programu, morate ga prekomponirati prije nego što budete mogli testirati promijenjeni kôd.

Tumačeni je jezik onaj na kojem se upute pretvaraju iz onoga što ste napisali u strojni kod tijekom pokretanja programa. Tumačeni jezik u osnovi dobiva upute iz programskog izvora, pretvara ga u stroj code, pokreće taj strojni kod i zatim uzima narednu upute iz izvora da bi ponovio postupak.

Dvije varijante sastavljanja i tumačenja

Jedna varijanta koristi dvostupanjski postupak. S ovom varijantom, izvor vašeg programa se sastavlja ne izravno u strojni kod, već umjesto toga pretvara se u jezik sličan skupštini koji je i dalje neovisan o određenom procesor. Kad želite pokrenuti kôd, tada obrađuje taj sastavljeni kôd preko tumača koji je specifičan za procesor kako bi se dobio mašinski kod odgovarajući tom procesoru. Ovaj pristup ima brojne prednosti kompilacije uz zadržavanje neovisnosti procesora, jer isti sastavljeni kôd može interpretirati mnogo različitih procesora. Java je jedan jezik koji često koristi ovu varijantu.

Druga se varijanta zove Just in Time prevodilac (ili JIT). S ovim pristupom zapravo ne pokrećete prevodilac nakon što ste napisali svoj kôd. Umjesto toga, to se događa automatski kada pokrenete kôd. Korištenjem Just in Time sastavljača kod se ne interpretira izjavom izjavom, već se sastavlja sve u jednom ići svaki put kad se zove pokrenuti i tada je sastavljena verzija koju je upravo stvorio trčanje. Ovakav pristup čini da izgleda kao da se interpretira kôd, osim što se umjesto grešaka pronalazi samo kad se izjava s Došlo je do pogreške, bilo koje pogreške otkrivene prevoditeljem rezultiraju u nijednom pokretanju koda umjesto da se svi kod do tog trenutka trčanje. PHP je primjer jezika koji se obično koristi samo u vrijeme sastavljanja.

Da li se JavaScript kompajlira ili tumači?

Dakle, sada znamo što znači interpretirani i sastavljeni kod, pitanje na koje sljedeće pitanje trebamo odgovoriti je što sve to ima veze sa JavaScriptom? Ovisno o tome gdje točno pokrećete svoj JavaScript, kod se može sastaviti ili protumačiti ili koristiti bilo koju od spomenute dvije druge inačice. Većinu vremena stepokretanje vašeg JavaScript-a u web-pregledniku i tamo se JavaScript obično tumači.

Tumačeni jezici su obično sporiji od sabranih jezika. Dva su razloga za to. Prvo, kod koji treba protumačiti zapravo mora biti protumačen prije nego što se može pokrenuti, a drugo, koji ima da se događa svaki put kada se naredba pokrene (ne samo svaki put kada pokrenete JavaScript, nego ako je uključen petlja onda to treba obaviti svaki put oko petlje). To znači da će kôd napisan na JavaScriptu raditi sporije od koda napisanog na mnogim drugim jezicima.

Kako nam znanje to pomaže gdje je JavaScript jedini jezik koji nam je dostupan za sve web-preglednike? Sam JavaScript interpreter koji je ugrađen u web preglednik nije napisan na JavaScriptu. Umjesto toga, to je napisano na nekom drugom jeziku koji je tada sastavljen. To znači da možete brže pokrenuti svoj JavaScript ako možete iskoristiti bilo koje naredbe koje vam JavaScript omogućuju da prebacite zadatak na sam mehanizam JavaScript.

Primjeri za brži rad JavaScripta

Primjer za to je da su neki, ali ne svi preglednici, implementirali metodu document.getElementsByClassName () u JavaScript mehanizam, dok drugi to još nisu učinili. Kad nam je potrebna ta određena funkcionalnost, možemo omogućiti da se kôd brže pokreće u onim preglednicima u kojima JavaScript pokretač pruža značajku uočavajući postoji li metoda već i kreiramo vlastitu verziju tog koda u JavaScriptu kada to ne nudi JavaScript engine nas. Tamo gdje JavaScript engine pruža tu funkciju, trebao bi se pokrenuti brže ako to koristimo, a ne da pokrećemo svoju vlastitu verziju napisanu na JavaScriptu. Isto se odnosi na bilo koju obradu koju JavaScript motor omogućava izravno pozivanje.

Bit će i slučajeva gdje JavaScript pruža više načina podnošenja istog zahtjeva. U tim slučajevima jedan od načina pristupa informacijama može biti specifičniji od drugog. Na primjer document.getElementsByTagName ('tablica') [0] .tBodies i document.getElementsByTagName ('tablica') [0] .getElementsByTagName ('tbody') oboje dohvatite isti nodelist tbody oznaka u prvoj tablici na web stranici, no prva od njih je specifična naredba za dohvaćanje. tbody oznake gdje drugi identificira da preuzimamo tbody oznake u parametru, a druge vrijednosti mogu biti zamijenjene za dohvaćanje ostalih oznake. U većini preglednika kraća i specifičnija varijanta koda pokretat će se brže (u nekim slučajevima mnogo brže) od druge varijante i zato ima smisla koristiti kraću i specifičniju verzija. To također čini kôd lakšim za čitanje i održavanje.

Sada će u mnogim tim slučajevima stvarna razlika u vremenu obrade biti vrlo mala i bit će tek kada zajedno dodate mnogo takvih odabira kodova da biste postigli bilo kakvu vidljivu razliku u vremenu koje vaš kôd traje trčanje. Međutim, prilično je rijetka promjena koda radi bržeg izvođenja koda znatno dulji ili teža za održavanje, a često će biti i obrnuto. Tu je i dodatna korist što se mogu stvoriti buduće verzije JavaScript motora koji ubrzavaju čak i specifičniju varijantu nadalje, tako da upotreba određene varijante može značiti da će se vaš kôd u budućnosti pokretati brže, a da ne morate ništa mijenjati.

instagram story viewer