JavaScript Void 0 - Τι κάνει javascript: void (0); Σημαίνω?

Η λέξη άκυρο σημαίνει "εντελώς κενό χώρο" σύμφωνα με το λεξικό. Αυτός ο όρος, όταν χρησιμοποιείται στον προγραμματισμό, αναφέρεται σε μια επιστροφή του "τίποτα" - μια "κενή τιμή".

Ποια είναι η κενή λέξη-κλειδί;

Όταν μια συνάρτηση είναι άκυρη, αυτό σημαίνει ότι η συνάρτηση δεν επιστρέφει τίποτα. Αυτό είναι παρόμοιο με συναρτήσεις στο JavaScript που επιστρέφουν undefinedρητά, όπως:

function und() { return undefined } und() 

ή σιωπηρά, όπως έτσι:

function und() { } und() 

Ανεξάρτητα από τις εκφράσεις και τις δηλώσεις στις παραπάνω συναρτήσεις (προσθέτει 2 αριθμούς μαζί, βρίσκει τον μέσο όρο των 5 αριθμών, οτιδήποτε), δεν επιστρέφεται κανένα αποτέλεσμα.

Τώρα γνωρίζουμε ποια είναι η voidλέξη-κλειδί. Τι γίνεται javascript:void(0);

Τι είναι javascript:void(0);

Αν το χωρίσουμε, έχουμε javascript:και void(0). Ας δούμε κάθε μέρος με περισσότερες λεπτομέρειες.

javascript:

Αυτό αναφέρεται ως ψευδο URL . Όταν ένα πρόγραμμα περιήγησης λαμβάνει αυτήν την τιμή ως την τιμή hrefσε μια ετικέτα αγκύρωσης, ερμηνεύει τον κώδικα JS που ακολουθεί την άνω και κάτω τελεία (:) αντί να αντιμετωπίζει την τιμή ως διαδρομή αναφοράς.

Για παράδειγμα:

Link 

Όταν κάνετε κλικ στο "Link", αυτό είναι το αποτέλεσμα:

Όπως φαίνεται παραπάνω, το πρόγραμμα περιήγησης δεν αντιμετωπίζεται hrefως διαδρομή αναφοράς. Αντ 'αυτού, τον αντιμετωπίζει ως κάποιον κώδικα JavaScript που ξεκινά μετά το "javascript:" και διαχωρίζεται με ερωτηματικά.

void(0)

Το κενό φορέας αξιολογεί δοθεί εκφράσεις και αποδόσεις undefined.

Για παράδειγμα:

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

1 + 1αξιολογείται αλλά undefinedεπιστρέφεται. Για να το επιβεβαιώσετε, εδώ είναι ένα άλλο παράδειγμα:

Heading

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

Το αποτέλεσμα του παραπάνω κώδικα είναι:

Εδώ είναι ένα άλλο παράδειγμα:

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

Συνδυασμός javascript:καιvoid(0)

Μερικές φορές, δεν θέλετε ένας σύνδεσμος να πλοηγηθεί σε άλλη σελίδα ή να φορτώσετε ξανά μια σελίδα. Χρησιμοποιώντας javascript:, μπορείτε να εκτελέσετε κώδικα που δεν αλλάζει την τρέχουσα σελίδα.

Αυτό, που χρησιμοποιείται με void(0)μέσα, δεν κάνει τίποτα - μην φορτώσετε ξανά, μην πλοηγηθείτε, μην εκτελέσετε κώδικα.

Για παράδειγμα:

Link 

Η λέξη "Link" αντιμετωπίζεται ως σύνδεσμος από το πρόγραμμα περιήγησης. Για παράδειγμα, είναι εστιασμένη, αλλά δεν μεταβαίνει σε νέα σελίδα.

0είναι ένα επιχείρημα που μεταφέρεται σε voidαυτό που δεν κάνει τίποτα και δεν επιστρέφει τίποτα

Ο κώδικας JavaScript (όπως φαίνεται παραπάνω) μπορεί επίσης να μεταβιβαστεί ως ορίσματα στη voidμέθοδο. Αυτό κάνει το στοιχείο σύνδεσης να τρέχει κάποιο κώδικα, αλλά διατηρεί την ίδια σελίδα.

Για παράδειγμα:

Link 

Όταν κάνετε κλικ στο κουμπί, αυτό είναι το αποτέλεσμα:

Με void, λέει στο πρόγραμμα περιήγησης να μην επιστρέψει τίποτα (ή να επιστρέψει undefined).

Μια άλλη περίπτωση χρήσης συνδέσμων με την javascript:void(0)αναφορά είναι ότι μερικές φορές, ένας σύνδεσμος μπορεί να εκτελεί κάποιο κώδικα JavaScript στο παρασκήνιο και η πλοήγηση μπορεί να είναι περιττή. Σε αυτήν την περίπτωση, οι εκφράσεις θα χρησιμοποιηθούν ως διαβιβάσεις στα επιχειρήματα void.

συμπέρασμα

Σε αυτό το απλοποιημένο άρθρο, μάθαμε τι είναι ο voidχειριστής, πώς λειτουργεί και πώς χρησιμοποιείται με το javascript:ψευδο URL για hrefχαρακτηριστικά συνδέσμων.

Αυτό διασφαλίζει ότι μια σελίδα δεν μεταβαίνει σε άλλη σελίδα ή δεν φορτώνει ξανά την τρέχουσα σελίδα όταν κάνετε κλικ.