JavaScript Void 0 – Co oznacza javascript:void(0);?

Słowo void oznacza „całkowicie pustą przestrzeń” według słownika. Termin ten, używany w programowaniu, odnosi się do zwrotu „niczego” – „pustej wartości”, że tak powiem.

Co oznacza słowo kluczowe void?

Gdy funkcja jest void, oznacza to, że funkcja nie zwraca nic. Jest to podobne do funkcji w JavaScript, które zwracają undefined jawnie, jak na przykład:

function und() { return undefined}und()

lub niejawnie, jak na przykład:

function und() {}und()

Niezależnie od wyrażeń i stwierdzeń w powyższych funkcjach (dodaje do siebie 2 liczby, znajduje średnią z 5 liczb, cokolwiek), nie ma zwracanego wyniku.

Teraz już wiemy o co chodzi ze słowem kluczowym void. A co z javascript:void(0)?

Co to jest javascript:void(0)?

Jeśli podzielimy to na części, mamy javascript: i void(0). Przyjrzyjmy się każdej z części bardziej szczegółowo.

javascript:

To jest określane jako Pseudo URL. Kiedy przeglądarka otrzymuje tę wartość jako wartość href na znaczniku zakotwiczenia, interpretuje kod JS, który następuje po dwukropku (:), zamiast traktować wartość jako ścieżkę odniesienia.

Na przykład:

<a href="javascript:console.log('javascript');alert('javascript')">Link</a>

Gdy „Link” zostanie kliknięty, oto wynik:

Jak widać powyżej, przeglądarka nie traktuje href jako ścieżki referencyjnej. Zamiast tego, traktuje go jako kod JavaScript zaczynający się po „javascript:” i oddzielony średnikami.

void(0)

Operator void ocenia dane wyrażenie i zwraca undefined.

Na przykład:

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

1 + 1 jest obliczane, ale undefined jest zwracane. Aby to potwierdzić, oto kolejny przykład:

<body> <h1>Heading</h1> <script> void(document.body.style.backgroundColor = 'red', document.body.style.color = 'white' ) </script></body>

Wynikiem działania powyższego kodu jest:

Oto kolejny przykład:

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

Połączenie javascript: i void(0)

Czasami nie chcesz, aby link nawigował do innej strony lub przeładowywał stronę. Używając javascript:, możesz uruchomić kod, który nie zmieni bieżącej strony.

To, użyte z void(0) oznacza, nie rób nic – nie przeładowuj, nie nawiguj, nie uruchamiaj żadnego kodu.

Na przykład:

<a href="javascript:void(0)">Link</a>

Słowo „Link” jest traktowane przez przeglądarkę jako link. Na przykład, jest focusowalny, ale nie przenosi na nową stronę.

0 jest argumentem przekazywanym do void, który nic nie robi i nic nie zwraca.

Kod JavaScript (jak widać powyżej) może być również przekazywany jako argument do metody void. To sprawia, że element łącza uruchamia jakiś kod, ale zachowuje tę samą stronę.

Na przykład:

<a href="javascript:void( document.querySelector('#link').style.color = 'green')">Link</a>

Gdy przycisk zostanie kliknięty, taki będzie rezultat:

Z void mówi przeglądarce, aby nic nie zwracała (lub zwraca undefined).

Innym przypadkiem użycia linków z referencją javascript:void(0) jest to, że czasami link może uruchomić jakiś kod JavaScript w tle, a nawigacja może być niepotrzebna. W tym przypadku wyrażenia byłyby użyte jako argumenty przekazywane do void.

Podsumowanie

W tym uproszczonym artykule dowiedzieliśmy się, czym jest operator void, jak działa i jak jest używany z pseudo URL-em javascript: dla href atrybutów odnośników.

To zapewnia, że strona nie przechodzi do innej strony lub przeładowuje bieżącą stronę, gdy zostanie kliknięta.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *