Pomeni razlago ali sestavljeno v JavaScript

click fraud protection

Računalniki dejansko ne morejo izvajati kode, ki jo vpišete JavaScript (ali kateri koli drug jezik v zvezi s tem). Računalniki lahko poganjajo samo strojno kodo. Strojna koda, ki jo lahko izvaja določen računalnik, je določena v procesorju, ki bo izvajal te ukaze, in je lahko različna za različne procesorje.

Očitno je, pisna strojna koda je bilo težko narediti ljudi (je 125 dodaten ukaz ali je 126 ali morda 27). Da bi rešili to težavo, so bili ustvarjeni ti, ki so znani kot jeziki za sestavljanje. Ti jeziki so za ukaze uporabili bolj očitna imena (na primer ADD za dodajanje) in tako odpravili potrebo po zapomnitvi točnih strojnih kod. Jeziki sestavljanja imajo še vedno odnos ena do enega s posameznim procesorjem in strojno kodo, v katero računalnik pretvori te ukaze.

Jeziki montaže morajo biti sestavljeni ali tolmačeni

Že zelo zgodaj se je ugotovilo, da je lažje pisati jezikih so bili potrebni in da bi jih računalnik lahko uporabil za prevajanje teh navodil v strojni kodi, ki jih računalnik dejansko lahko razume. Pri tem prevodu sta se lahko odločila za dva pristopa in izbrali smo obe možnosti (uporabljena bo ena ali druga, odvisno od jezika in mesta, v katerem se uporablja).

instagram viewer

Sestavljeni jezik je jezik, kjer po pisanju programa hranite kodo s programom, imenovanim a prevajalnik in to ustvari strojno različico programa. Ko želite zagnati program, preprosto pokličete različico strojne kode. Če spremenite program, ga morate znova prevesti, preden lahko preizkusite spremenjeno kodo.

Interpretirani jezik je jezik, kjer se navodila pretvorijo iz tega, kar ste napisali v strojno kodo med izvajanjem programa. Interpretirani jezik v osnovi dobi navodila iz programskega vira, ga pretvori v stroj kode, zažene to strojno kodo in nato zgradi naslednje navodilo iz vira, da ponovi postopek.

Dve različici sestavljanja in tolmačenja

Ena varianta uporablja dvostopenjski postopek. Pri tej varianti se izvor vašega programa ne zbira neposredno v strojno kodo, ampak namesto tega se pretvori v jezik, podoben montaži, ki je še vedno neodvisen od posameznega procesor. Ko želite zagnati kodo, potem obdela predelano kodo prek tolmača, ki je značilen za procesor, tako da dobite strojno kodo, ki ustreza temu procesorju. Ta pristop ima številne prednosti sestavljanja, hkrati pa ohranja neodvisnost procesorja, saj lahko isto sestavljeno kodo razlagajo različni procesorji. Java je en jezik, ki pogosto uporablja to varianto.

Druga varianta se imenuje prevajalnik Just in Time (ali JIT). S tem pristopom dejansko ne zaženete prevajalnika, potem ko ste napisali kodo. Namesto tega se to samodejno zgodi, ko zaženete kodo. Z uporabo prevajalnika Just in Time koda ni interpretirana izjava z izjavo, ampak je sestavljena vse v enem pojdite vsakič, ko se pokliče, da se zažene, in potem je sestavljena različica, ki jo je pravkar ustvaril teči. Zaradi tega pristopa je videti, kot da se razlaga koda, le da se namesto napak najde le, ko stavek z napaka je dosežena; kakršne koli napake, ki jih odkrije prevajalnik, povzročijo, da se nobena koda ne izvaja, namesto da bi bila koda do tega trenutka teči. PHP je primer jezika, ki se navadno uporablja ravno pri sestavljanju časa.

Ali je JavaScript sestavljen ali tolmačen?

Torej zdaj vemo, kaj pomeni interpretirana koda in sestavljena koda, vprašanje, na katerega moramo odgovoriti, je, kaj vse to ima opraviti z JavaScript? Odvisno od tega, kje imate JavaScript, lahko kodo sestavite ali razložite ali uporabite katero koli od obeh drugih omenjenih različic. Večino časa stezagon vašega JavaScript v spletnem brskalniku in tam se ponavadi razlaga JavaScript.

Interpretirani jeziki so običajno počasnejši od sestavljenih jezikov. Razloga za to sta dva. Prvič, koda, ki jo je treba razlagati, je treba razlagati, preden jo je mogoče zagnati, in drugič se zgodi vsakič, ko se stavek zažene (ne samo vsakič, ko zaženete JavaScript, ampak tudi, če je vklopljen a zanka potem je treba to storiti vsakič okoli zanke). To pomeni, da bo koda, napisana v JavaScriptu, delovala počasneje kot koda, napisana v mnogih drugih jezikih.

Kako nam poznavanje tega pomaga, če je JavaScript edini jezik, ki nam je na voljo za uporabo v vseh spletnih brskalnikih? Sam tolmač JavaScript, ki je vgrajen v spletni brskalnik, ni napisan v JavaScript. Namesto tega je napisan v nekem drugem jeziku, ki je bil nato sestavljen. To pomeni, da lahko svoj JavaScript hitreje zaženete, če lahko izkoristite katere koli ukaze, ki jih ponuja JavaScript, ki omogočajo, da nalogo naložite na sam motor JavaScript.

Primeri za hitrejše delovanje JavaScripta

Primer tega je, da nekateri brskalniki, vendar niso vsi, implementirali metodo document.getElementsByClassName () v mehanizem JavaScript, drugi pa tega še niso storili. Ko potrebujemo to posebno funkcijo, lahko omogočimo, da se koda hitreje zažene v tistih brskalnikih, kjer jih JavaScript ponuja s funkcijo zaznati, ali metoda že obstaja, in ustvarjamo svojo lastno različico te kode v JavaScriptu, ko jo JavaScript ne zagotavlja nas. Če mehanizem JavaScript zagotavlja to funkcijo, bi moral delovati hitreje, če ga uporabljamo, ne pa da uporabljamo lastno različico, napisano v JavaScript. Enako velja za vsako obdelavo, ki nam jo ponuja JavaScript za neposredno klicanje.

Obstajajo tudi primeri, ko JavaScript ponuja več načinov za enako zahtevo. V teh primerih je lahko eden od načinov dostopa do informacij bolj specifičen kot drugi. Na primer document.getElementsByTagName ('tabela') [0] .tBodies in document.getElementsByTagName ('tabela') [0] .getElementsByTagName ('tbody') oboje pridobite isti nodelist oznak tbody v prvi tabeli na spletni strani, vendar je prvi od njih poseben ukaz za iskanje oznake tbody, kjer drugi prepozna, da v parametru prikličemo oznake tbody, druge vrednosti pa lahko nadomestimo z drugimi oznake. V večini brskalnikov bo krajša in natančnejša različica kode tekla hitreje (v nekaterih primerih) veliko hitreje) kot druga varianta in zato je smiselno uporabljati krajše in bolj specifične različico. Olajša tudi branje in vzdrževanje kode.

Zdaj bo v mnogih od teh primerov dejanska razlika v času obdelave zelo majhna in bo šele takrat skupaj dodate veliko takih izbir kode, tako da boste opazili razliko v času, ki vam ga traja koda teči. Kljub temu je dokaj redko, da bo sprememba kode zaradi hitrejšega teka kode bistveno daljša ali težja za vzdrževanje, pogosto pa je tudi obratno. Dodatna prednost je tudi, da bodo lahko nastale prihodnje različice motorjev JavaScript, ki pospešijo tudi bolj specifično različico poleg tega lahko uporaba posebne različice pomeni, da bo vaša koda v prihodnosti hitreje delovala, ne da bi vam bilo treba kaj spremeniti.

instagram story viewer