Miten JavaScript toimii?

Miten JavaScript toimii

Miten JavaScript toimii

Tutustuminen siihen, miten JavaScript toimii?

JavaScript on selaimessa käyttöliittymävuorovaikutukseen käytettävä skriptikieli. Brendan Eich oli ensimmäinen henkilö, joka loi JavaScript-moottorin oli Netspace Navigator -verkkoselaimeen Netspacessa. Se on toteutettu C-kielellä ja sen koodinimi oli SpiderMonkey. Aluksi projektille annettiin nimi Mocha, sitten se nimettiin uudelleen LiveScriptiksi ja lopulta, kun Netspace ja Sun tekivät lisenssisopimuksen, se nimettiin uudelleen JavaScriptiksi. Tässä aiheessa opimme, miten javascript toimii. Olemme varmasti kuulleet suosituista moottoreista, kuten V8, Spider Monkey ja monista muista. Eri moottoreilla on eri “koodinimet”, esimerkiksi:

  • V8 – moottori, jota käytetään Operassa & Chrome.
  • SpiderMonkey – moottori, jota käytetään Firefoxissa.
  • Trident, Chakra – moottori, jota käytetään IE:ssä & Nitrossa.
  • ChakraCore – moottori, jota käytetään Microsoft Edgessä.
  • SquirrelFish – moottori, jota käytetään Safarissa.

Javaskriptin käyttämä moottori koostuu kahdesta pääkomponentista:

Aloita ilmainen ohjelmistokehityskurssi

Web-kehitys, ohjelmointikielet, ohjelmistotestaus & muut

  • Kuopan muisti (Heap Memory) – tässä tapahtuu muistin varaaminen.
  • Call Stack – tämä on paikka, jossa pinoja kutsutaan ja koodi suoritetaan.

Huomautus:

JavaScript, on yksisäikeinen ohjelmointikieli, mikä tarkoittaa, että sillä on yksi Call Stack ja näin ollen se pystyy tekemään yhtä asiaa kerrallaan. Kutsupino on periaatteessa tietorakenne, joka tallentaa ohjelman sen kohdan, joka itse asiassa suoritetaan. Tämä kutsupino on samanlainen kuin muut pinot, joilla on perustoiminnot, kuten jos astumme funktioon, laitamme sen pinon yläosaan. Jos haluamme palata funktiosta, meidän on poistettava pino, jos haluamme palata funktiosta. Tämä on jokaisen pinon perustoiminto. Kun keskustelemme moottoreista, jotka ohjaavat JavaScript-funktioita, ne ovat todella monimutkaisia, mutta perusasiat, jotka jokainen moottori suorittaa laajemmassa mielessä, ovat seuraavat:

  • Jos selain lukee skriptin, niin moottori on upotettu itse selaimeen.
  • Skriptin lukemisen jälkeen se muuntaa (“kääntää”) skriptin konekielelle.
  • Ja sitten konekoodi toimii, melko nopeasti.

Mitä selaimen sisäiset JavaScript-työt voivat tehdä?

  • Se muuttaa olemassa olevaa sisältöä, muokkaa tyylejä lisäämällä sivuille uutta HTML:ää.
  • Tarjoaa toimintoja, kuten hiiren napsautus, hiiren leijutus jne. jotka reagoivat käytön toimintoihin.
  • Lähettää ja vastaanottaa pyyntöjä verkon kautta etäpalvelimille ilman, että ladataan kokonaista sivua käyttäjän syötteiden mukaan. Yksi tällainen tekniikka, joka on hyvin kuuluisa, on AJAX.
  • Tämän avulla voidaan asettaa ja saada evästeiden arvoja, antaa käyttäjille viestejä tiedotus-, hälytys- ja muihin tarkoituksiin.
  • Voi myös tallentaa väliaikaista dataa asiakaspuolelle.

Mitä selaimessa tehtävät JavaScript-työt EIVÄT VOI TEHDÄ?

Javascripttin kyvykkyyksiä selaimessa rajoitetaan jonkin verran selainten sisäpuolella rajoitetaan käyttäjän turvallisuuden vuoksi. Tarkoituksena on estää jotakin kolmannen osapuolen verkkosivua pääsemästä käsiksi yksityisiin tietoihin tai vahingoittamasta käyttäjän tietoja. Joitakin skenaarioita tällaisille rajoitetuille käyttöoikeuksille ovat:

  • Oletusarvoisesti verkkosivun JavaScript on rajoitettu lukemaan/kirjoittamaan mielivaltaisia tiedostoja kiintolevyltä, kopioimaan niitä tai suorittamaan ohjelmia. Sillä ei ole edes suoraa pääsyä käyttöjärjestelmän toimintoihin. Muutamat nykyaikaiset selaimet sallivat sen myös työskennellä tiedostojen kanssa, mutta niiden osalta pääsy on rajoitettu ja annetaan vain, jos käyttäjä tekee tiettyjä toimia, kuten “pudottaa” tiedoston selainikkunaan. Joillakin tavoilla voidaan myös olla vuorovaikutuksessa kameran/mikrofonin ja muiden laitteiden kanssa, mutta sekin edellyttää käyttäjän nimenomaista lupaa. JavaScriptiä käyttävä sivu ei siis saa salaa ottaa käyttöön web-kameraa tai lähettää tietoja etäpalvelimelle tai jollekin kolmannelle osapuolelle.
  • Erilaiset välilehdet tai ikkunat eivät yleensä tiedä toistensa instansseista. Mutta teknisesti se on hyvin mahdollista. Samaa kutsutaan nimellä “Same Origin Policy”. Jotta sama toimisi, molempien instanssien on sisällettävä jotakin erityistä JavaScript-koodia, joka pystyy käsittelemään tietojenvaihtoa toistensa välillä. Mutta rajoitus on taas olemassa käyttäjän turvallisuuden vuoksi. Esimerkiksi URL-osoitteesta abc.com oleva verkkosivu, jonka käyttäjä on avannut, ei saa päästä toiseen selaimen välilehteen, jossa on URL-osoite xyz.com, ja varastaa tietoja salaa.
  • Sen avulla voidaan helposti kommunikoida verkon yli mille tahansa etäpalvelimelle tai kolmannelle osapuolelle, jolta nykyinen sivu on peräisin. Mutta turvallisuussyistä sen kyky vastaanottaa tai lähettää tietoja muilta sivustoilta tai verkkotunnuksilta on poistettu käytöstä. Sama on kuitenkin edelleen mahdollista, mitä varten jotkin JavaScript-työt edellyttävät nimenomaista suostumusta etäpuolelta. Tällaista rajoitusta ei ole mahdollista antaa, jos JavaScriptiä käytettäisiin selaimen ulkopuolella eikä sisällä, eli joko palvelimelta. Saatat myös huomata, että jotkin nykyaikaiset selaimet sallivat lisäosien tai laajennusten asentamisen, joiden avulla selaimen sisällä käytettävät JavaScript-työt saavat laajennetut käyttöoikeudet.

Mikä tekee JavaScript-työstä ainutlaatuisen?

  • Kuten kaikki tiedämme, se on oliopohjainen skriptikieli.
  • Se on kirjoitettu C:llä. Se on tulkittu kieli.
  • Puhdas JavaScript on nopeampi DOM:n käyttämisessä.
  • Javaskriptityön avulla käyttäjä saa enemmän kontrollia selaimeen.
  • Se osaa myös käsitellä päivämäärää ja aikaleimaa.
  • Se osaa myös tunnistaa käyttäjän selaimen ja jopa käyttöjärjestelmän.
  • Se on kevyt.
  • Se on skriptikieli, kuten jo todettiin.
  • Se on tulkkipohjainen skriptikieli.
  • Se on case-herkkä eli syntaksi on case-herkkä.
  • Se on oliopohjainen kieli, koska se tarjoaa valmiita objekteja kuten Java, mutta se ei ole Java.
  • Jokainen JavaScriptin lauseke on lopetettava puolipisteeseen (;).
  • Tärkein asia, jonka JavaScript tarjoaa, on kyky luoda uusia funktioita skriptien sisällä. Funktio voidaan julistaa JavaScriptissä funktiolla
  • Täysi tuki HTML:lle ja CSS:lle.
  • Se on erittäin helppokäyttöinen.
  • Tukee kaikkia selaimia.

RAJOITUKSET

Monien etujen ohella JavaScriptillä on myös joitain rajoituksia, jotka on esitetty alla:

  • JavaScript on asiakaspuolella eikä se tarjoa mahdollisuutta lukea tai kirjoittaa tiedostoja levylle.
  • JavaScriptiä ei voi käyttää verkkosovelluksiin, koska se ei tarjoa sellaista tukea.
  • Se ei tarjoa mitään toimintoja, kuten monisäikeistystä tai moniprosessoria.

Johtopäätökset

Siten me kaikki tulimme tietämään, että joitakin perustietoja JavaScriptin teosten kehityksestä, joitain kuuluisia moottoreita, jotka ajavat JavaScriptiä selaimissa, mitä etuja on JavaScriptien pitämisestä selaimissa ja mitä tapahtuisi, jos JavaScriptiä voitaisiin sijoittaa ja ajaa selainten ulkopuolella. Olemme myös törmänneet joihinkin JavaScript-työn ominaisuuksiin, jotka tekivät siitä käyttökelpoisen ja ainutlaatuisen, sekä joihinkin sen rajoituksiin/haittoihin. Näin ollen päätän aiheen siitä, miten javascript toimii, on paljon muuta tutkittavaa, jota voisit tutkia verkosta.

Suositeltavat artikkelit

Tämä on ollut opas JavaScript-työhön. Tässä on käsitelty peruskäsitteitä, rajoituksia ja sitä, mikä tekee javascriptistä ainutlaatuisen muihin verrattuna. Voit tutustua myös seuraaviin artikkeleihin oppiaksesi lisää –

  1. Cheat Sheet JavaScript
  2. Javaskriptin käyttötarkoitukset
  3. Javaskripti vs. JScript
  4. C# vs. JavaScripti
0 Shares

Vastaa

Sähköpostiosoitettasi ei julkaista.