JavaScript Void 0 - Čo javascript: void (0); Zlý?

Slovo void znamená podľa slovníka „úplne prázdne miesto“. Tento termín, ak sa použije v programovaní, označuje návrat „nič“ - takpovediac „prázdnej hodnoty“.

Čo je kľúčové slovo void?

Keď je funkcia neplatná, znamená to, že funkcia nevracia nič. Je to podobné ako funkcie v JavaScripte, ktoré sa vracajú undefinedexplicitne, napríklad takto:

function und() { return undefined } und() 

alebo implicitne, napríklad takto:

function und() { } und() 

Bez ohľadu na výrazy a príkazy vo vyššie uvedených funkciách (sčíta 2 čísla, nájde priemer 5 čísel, nech sú akékoľvek), výsledok sa nevráti.

Teraz vieme, o čo v voidkľúčovom slove ide. Čo javascript:void(0)?

Čo je to javascript:void(0)?

Ak to rozdelíme, máme javascript:a void(0). Pozrime sa na každú časť podrobnejšie.

javascript:

Toto sa označuje ako Pseudo URL . Keď prehliadač prijme túto hodnotu ako hodnotu hrefukotvenej značky, interpretuje kód JS, ktorý nasleduje za dvojbodkou (:), a nie s touto hodnotou zaobchádzať ako s referenčnou cestou.

Napríklad:

Link 

Po kliknutí na odkaz Odkaz bude výsledok:

Ako je vidieť vyššie, prehliadač nepovažuje hrefodkazovanú cestu. Namiesto toho s ním zaobchádza ako s nejakým kódom JavaScriptu začínajúcim po „javascript:“ a oddeleným bodkočiarkami.

void(0)

Operátor void vyhodnotí dané výrazy a vráti ich undefined.

Napríklad:

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

1 + 1sa vyhodnotí, ale undefinedvráti sa. Potvrdzujeme to, tu je ďalší príklad:

Heading

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

Výsledkom vyššie uvedeného kódu je:

Tu je ďalší príklad:

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

Kombinovanie javascript:avoid(0)

Niekedy nechcete, aby odkaz smeroval na inú stránku alebo stránku načítal znova. Pomocou tohto javascript:príkazu môžete spustiť kód, ktorý nezmení aktuálnu stránku.

Toto, použité s void(0)prostriedkami, nič nerobte - znovu nenačítajte, ne navigujte, nespúšťajte žiadny kód.

Napríklad:

Link 

Prehliadač považuje slovo „Odkaz“ za odkaz. Napríklad je zamerateľný, ale neorientuje sa na novú stránku.

0je argument odovzdaný void, ktorý nič nerobí a nič nevracia.

Kód JavaScript (ako je vidieť vyššie) možno tiež odovzdať ako argumenty voidmetóde. Toto umožňuje, aby element odkazu spustil nejaký kód, ale zachová sa rovnaká stránka.

Napríklad:

Link 

Po kliknutí na toto je výsledok:

S void, informuje prehliadač, aby nič nevrátil (alebo nevrátil undefined).

Ďalším prípadom použitia odkazov s javascript:void(0)odkazom je, že niekedy môže na linke bežať na pozadí nejaký JavaScriptový kód a navigácia môže byť zbytočná. V takom prípade by sa výrazy použili ako argumenty poskytnuté void.

Záver

V tomto zjednodušenom článku sme sa dozvedeli, čo je voidoperátor, ako pracuje a ako sa používa s javascript:pseudo URL pre hrefatribúty odkazov.

To zaisťuje, že stránka po kliknutí nenaviguje na inú stránku ani znovu nenačíta aktuálnu stránku.