JavaScript Void 0 - Mitä javascript: void (0); Tarkoittaa?

Sana void tarkoittaa sanakirjan mukaan "täysin tyhjää tilaa". Tämä termi, kun sitä käytetään ohjelmoinnissa, viittaa "ei mitään" - niin sanotun "tyhjän arvon" - palauttamiseen.

Mikä on tyhjä avainsana?

Kun funktio on tyhjä, se tarkoittaa, että funktio ei palauta mitään. Tämä on samanlainen kuin JavaScriptin toiminnot, jotka palaavat undefinednimenomaisesti, kuten:

function und() { return undefined } und() 

tai epäsuorasti, kuten näin:

function und() { } und() 

Huolimatta yllä olevien funktioiden lausekkeista ja lausekkeista (lasketaan yhteen 2 numeroa, löydetään 5 lukujen keskiarvo), tulosta ei palauteta.

Nyt tiedämme, mistä voidavainsanalla on kyse. Entä javascript:void(0)?

Mikä on javascript:void(0)?

Jos jaamme tämän, meillä on javascript:ja void(0). Katsotaanpa kutakin osaa tarkemmin.

javascript:

Tätä kutsutaan näennäiseksi URL-osoitteeksi . Kun selain vastaanottaa tämän arvon hrefankkuritunnisteen arvona , se tulkitsee kaksoispistettä (:) seuraavaa JS-koodia sen sijaan, että se käsittäisi arvoa viitattuna polkuna.

Esimerkiksi:

Link 

Kun napsautetaan "Linkkiä", tulos on seuraava:

Kuten yllä nähtiin, selainta ei käsitellä hrefviitattuna polkuna. Sen sijaan se käsittelee sitä Java-koodina, joka alkaa "javascript:": n jälkeen ja erotetaan puolipisteillä.

void(0)

Tyhjä operaattori arvioi annetut lausekkeet ja palauttaa undefined.

Esimerkiksi:

const result = void(1 + 1); console.log(result); // undefined 

1 + 1arvioidaan, mutta undefinedpalautetaan. Tämän vahvistamiseksi, tässä on toinen esimerkki:

Heading

void(document.body.style.backgroundColor = 'red', document.body.style.color = 'white' )

Yllä olevan koodin tulos on:

Tässä on toinen esimerkki:

console.log(void(0) === undefined) // true 

Yhdistämällä javascript:javoid(0)

Joskus et halua linkin siirtyvän toiselle sivulle tai lataavan sivun uudelleen. Käyttämällä javascript:voit suorittaa koodin, joka ei muuta nykyistä sivua.

Tämä, käytettynä void(0)keinoin, ei tee mitään - älä lataa uudelleen, älä navigoi, älä aja mitään koodia.

Esimerkiksi:

Link 

Selain käsittelee "Linkki" -sanaa linkkinä. Se on esimerkiksi tarkennettavissa, mutta se ei siirry uudelle sivulle.

0on sille välitetty argumentti, voidjoka ei tee mitään eikä palauta mitään.

JavaScript-koodi (kuten yllä on esitetty) voidaan välittää myös argumenttina voidmenetelmälle. Tämä saa linkki-elementin suorittamaan koodia, mutta se ylläpitää samaa sivua.

Esimerkiksi:

Link 

Kun painiketta napsautetaan, tulos on seuraava:

Kanssa void, se kertoo selaimelle, ettei se palauta mitään (tai palaa undefined).

Toinen javascript:void(0)viittausten linkkien käyttötapa on, että joskus linkki saattaa suorittaa jonkin JavaScripti-koodin taustalla, ja navigointi voi olla tarpeetonta. Tässä tapauksessa lausekkeita käytetään argumentteina, joille välitetään void.

Johtopäätös

Tässä yksinkertaistetussa artikkelissa olemme oppineet mikä voidoperaattori on, miten se toimii ja miten sitä käytetään javascript:näennäisen URL-osoitteen hrefkanssa linkkien attribuuteille.

Tämä varmistaa, että sivu ei siirry toiselle sivulle tai lataa nykyistä sivua uudelleen napsautettaessa.