top 45 javascript interview questions with detailed answers
Οι πιο συχνές ερωτήσεις βασικής και σύνθετης συνέντευξης JavaScript με λεπτομερείς απαντήσεις για κάθε προγραμματιστή JavaScript.
Εάν προετοιμάζεστε για μια συνέντευξη, εδώ είναι οι πιο συχνές ερωτήσεις και απαντήσεις JS Interview για την αναφορά σας.
Έχουμε σχεδιάσει το ίδιο για να σας γνωρίσουμε τις ερωτήσεις που ενδέχεται να συναντήσετε κατά τη διάρκεια της τεχνικής συνέντευξής σας.
Ας εξερευνήσουμε !!
Σχετικά με τη JavaScript
Το JavaScript είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου, πιθανώς μια από τις πιο χρησιμοποιούμενες γλώσσες προγραμματισμού στον κόσμο αυτήν τη στιγμή. Μπορεί να χρησιμοποιηθεί για τον προγραμματισμό προγραμμάτων περιήγησης ιστού ή ακόμη και διακομιστών.
Για να κατανοήσετε τη σημασία της JavaScript, απενεργοποιήστε τη JavaScript στο πρόγραμμα περιήγησής σας και προσπαθήστε να φορτώσετε την ιστοσελίδα σε αυτήν. Αυτές οι ιστοσελίδες δεν θα λειτουργούν σωστά. Πολλά περιεχόμενα σε αυτά ενδέχεται να έχουν κακή συμπεριφορά. Σχεδόν όλα τα σύγχρονα προγράμματα περιήγησης χρησιμοποιούν τον συνδυασμό JavaScript, CSS και HTML.
Το JavaScript είναι μια ερμηνευμένη γλώσσα προγραμματισμού. Ένας διερμηνέας είναι ενσωματωμένος σε προγράμματα περιήγησης όπως το Google Chrome, ο Microsoft Internet Explorer κ.λπ. Έτσι, ο κώδικας του μπορεί να αντιμετωπιστεί από τη Μηχανή JavaScript του προγράμματος περιήγησης.
Το JavaScript εμφανίστηκε τον Δεκέμβριο του 1995 και αρχικά ονομάστηκε LiveScript, αν και το όνομα άλλαξε σύντομα για λόγους μάρκετινγκ. Δεν πρέπει να συγχέεται με το «Java», το οποίο έχει επίσης κάποια ομοιότητα, αλλά είναι μια εντελώς διαφορετική γλώσσα.
Οι πιο συχνές ερωτήσεις συνέντευξης JavaScript
Q # 1) Τι είναι το JavaScript;
Απάντηση: Το JavaScript είναι μια γλώσσα δέσμης ενεργειών που αναπτύχθηκε από το Netscape. Μπορεί να χρησιμοποιηθεί για τον προγραμματισμό προγραμμάτων περιήγησης ιστού ή ακόμη και διακομιστών. Μπορεί να ενημερώσει δυναμικά τα περιεχόμενα της ιστοσελίδας, που είναι η ομορφιά αυτής της γλώσσας.
Q # 2) Ποια είναι τα πλεονεκτήματα της χρήσης εξωτερικής JavaScript;
Απάντηση: Η χρήση εξωτερικής JavaScript στον κώδικα μας έχει πολλά πλεονεκτήματα.
Αυτά αναφέρονται παρακάτω.
- Ο διαχωρισμός του κώδικα έγινε.
- Η συντήρηση κώδικα είναι εύκολη.
- Η απόδοση είναι καλύτερη.
Ε # 3) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα, εξηγήστε το σφάλμα;
Sample: Software Testing Help
var studentName = 'Sajeesh Sreeni'; // String 'Sajeesh Sreeni' stored in studentName var studentName; // varaible is decalred again document.getElementById('studentName').innerHTML = 'Redeclaring the varaible will not lose the value!.
' +'Here the value in studentName is '+ studentName;
Απάντηση είναι ρ : Αυτός ο κωδικός δεν θα παράγει σφάλματα. Η εκ νέου δήλωση των μεταβλητών επιτρέπεται σε JavaScript. Ως εκ τούτου, η τιμή της μεταβλητής δεν θα χαθεί μετά την εκτέλεση της δήλωσης εδώ.
Ε # 4) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
var sum_first =50+20+' Sajeesh Sreeni '; var sum_second= ' Sajeesh Sreeni '+50+20; document.getElementById('sum_first').innerHTML = 'The first varaible sum is :'+sum_first + '
The second varaible sum is :'+sum_second ;
Απάντηση: Αυτός ο κωδικός δεν θα εμφανίζει σφάλματα!
Έξοδος του αποσπάσματος κώδικα:
Το πρώτο μεταβλητό άθροισμα είναι: 70 Sajeesh Sreeni
Το δεύτερο μεταβλητό άθροισμα είναι: Sajeesh Sreeni 5020
Q # 5) Ποια είναι η διαφορά μεταξύ των μεθόδων test () και exec ();
Απάντηση: Τόσο το test () όσο και το exec () είναι μέθοδοι έκφρασης RegExp.
Χρησιμοποιώντας ένα δοκιμή () , θα αναζητήσουμε μια συμβολοσειρά για ένα συγκεκριμένο μοτίβο, αν εντοπίσει το αντίστοιχο κείμενο τότε επιστρέφει την τιμή Boolean «true» ή αλλιώς επιστρέφει «false».
Αλλά σε exec () , θα αναζητήσουμε μια συμβολοσειρά για ένα συγκεκριμένο μοτίβο, αν βρει το αντίστοιχο κείμενο, τότε επιστρέφει το ίδιο το μοτίβο ή αλλιώς επιστρέφει την τιμή «null».
Q # 6) Ποια είναι τα πλεονεκτήματα της JavaScript;
Απάντηση: Αυτή η γλώσσα Scripting έχει πολλά πλεονεκτήματα όπως αναφέρεται παρακάτω.
- Πυγμάχος ελαφρού βάρους: Είναι εύκολο να εφαρμοστεί. Έχει μικρά αποτυπώματα μνήμης.
- Ερμηνεία: Είναι μια ερμηνευμένη γλώσσα. Οι οδηγίες εκτελούνται απευθείας.
- Αντικειμενοστραφής: Είναι μια αντικειμενοστρεφής γλώσσα.
- Λειτουργίες πρώτης κατηγορίας: Στο JavaScript, μια συνάρτηση μπορεί να χρησιμοποιηθεί ως τιμή.
- Γλώσσα σεναρίων: Είναι μια γλώσσα στην οποία οι οδηγίες γράφονται για ένα περιβάλλον χρόνου εκτέλεσης.
Ε # 7) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Απάντηση: Η μεταβλητή «const» «first_num» δεν έχει αρχικοποιηθεί με τιμή, επομένως ο κώδικας θα προκαλέσει σφάλμα σύνταξης.
Έξοδος του αποσπάσματος κώδικα:
Σφάλμα: Uncaught SyntaxError: Λείπει αρχικοποιητής στη δήλωση const
Ε # 8) Έχετε χρησιμοποιήσει κάποιο πρόγραμμα περιήγησης για εντοπισμό σφαλμάτων; Εάν ναι, πώς γίνεται;
Απάντηση: Πατώντας το πλήκτρο «F12» στο πληκτρολόγιο μπορούμε να ενεργοποιήσουμε τον εντοπισμό σφαλμάτων στο πρόγραμμα περιήγησης. Επιλέξτε την καρτέλα 'Κονσόλα' για να δείτε τα αποτελέσματα.
Στην Κονσόλα, μπορούμε να ορίσουμε σημεία διακοπής και να δούμε την τιμή σε μεταβλητές. Όλα τα σύγχρονα προγράμματα περιήγησης διαθέτουν ενσωματωμένο πρόγραμμα εντοπισμού σφαλμάτων (Για παράδειγμα: Chrome, Firefox, Opera και Safari ) . Αυτή η δυνατότητα μπορεί να ενεργοποιηθεί και να απενεργοποιηθεί.
γιατί το linux είναι καλύτερο από τα παράθυρα
Ε # 9) Ποια είναι η χρήση της λέξης-κλειδιού «εντοπισμού σφαλμάτων» στον κώδικα JavaScript;
Απάντηση: Η χρήση της λέξης-κλειδιού «εντοπισμού σφαλμάτων» στον κώδικα είναι σαν τη χρήση σημείων διακοπής στο πρόγραμμα εντοπισμού σφαλμάτων.
Για να δοκιμάσετε τον κώδικα, το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να είναι ενεργοποιημένο για το πρόγραμμα περιήγησης. Εάν ο εντοπισμός σφαλμάτων είναι απενεργοποιημένος για το πρόγραμμα περιήγησης, ο κώδικας δεν θα λειτουργήσει. Κατά τη διάρκεια του εντοπισμού σφαλμάτων του κώδικα, το υπόλοιπο μέρος θα πρέπει να σταματήσει να εκτελείται, πριν προχωρήσει στην επόμενη γραμμή.
Q # 10) Ποιοι είναι οι διαφορετικοί τύποι τιμών τιμών σφάλματος;
Απάντηση: Υπάρχουν 6 τύποι τιμών στην ιδιότητα 'Όνομα σφάλματος'.
Λάθος | Περιγραφή |
---|---|
Σφάλμα εύρους | Θα λάβουμε αυτό το σφάλμα εάν χρησιμοποιήσουμε έναν αριθμό εκτός του εύρους |
Συντακτικό λάθος | Αυτό το σφάλμα προκύπτει όταν χρησιμοποιούμε τη λανθασμένη σύνταξη. (Ανατρέξτε στο Ques No: 7) |
Σφάλμα αναφοράς | Αυτό το σφάλμα ρίχνεται εάν χρησιμοποιείται μια αδήλωτη μεταβλητή Ανατρέξτε στην Ερώτηση αριθ. 19 |
Σφάλμα Eval | Πέταξε λόγω του σφάλματος στο eval (). Η νέα έκδοση JavaScript δεν έχει αυτό το σφάλμα |
Τυπογραφικό λάθος | Η τιμή είναι εκτός του εύρους των τύπων που χρησιμοποιούνται. Ανατρέξτε στις ερωτήσεις αριθ. 22 |
Σφάλμα URI | Λόγω της χρήσης παράνομων χαρακτήρων. |
Q # 11) Τι είναι η ανύψωση JavaScript;
Απάντηση: Κατά τη χρήση της μεθόδου «Ανύψωση JavaScript», όταν ένας διερμηνέας εκτελεί τον κώδικα, όλες οι μεταβλητές ανυψώνονται στην κορυφή του αρχικού / τρέχοντος πεδίου. Εάν έχετε δηλώσει μια μεταβλητή οπουδήποτε μέσα στον κώδικα, τότε μεταφέρεται στην κορυφή.
Αυτή η μέθοδος ισχύει μόνο για τη δήλωση μιας μεταβλητής και δεν ισχύει για την εκκίνηση μιας μεταβλητής. Οι συναρτήσεις ανυψώνονται επίσης στην κορυφή, ενώ οι εξηγήσεις συνάρτησης δεν ανυψώνονται στην κορυφή.
Βασικά, όπου δηλώσαμε τη μεταβλητή μέσα στον κώδικα δεν έχει μεγάλη σημασία.
Ε # 12) Τι είναι η 'Αυστηρή λειτουργία' JavaScript;
Απάντηση: Η 'Αυστηρή λειτουργία' είναι μια περιορισμένη παραλλαγή του JavaScript. Συνήθως, αυτή η γλώσσα «δεν είναι πολύ αυστηρή» κατά τη ρίψη σφαλμάτων. Αλλά στην «Αυστηρή λειτουργία» θα ρίξει όλους τους τύπους σφαλμάτων, ακόμη και τα σιωπηλά λάθη. Έτσι, η διαδικασία εντοπισμού σφαλμάτων γίνεται ευκολότερη. Και οι πιθανότητες να κάνετε λάθος για τον προγραμματιστή μειώνονται.
Ε # 13) Ποια είναι τα χαρακτηριστικά του JavaScript «Strict Mode»;
Απάντηση: Παρακάτω δίνονται τα χαρακτηριστικά της «Αυστηρής λειτουργίας»:
- Η 'Αυστηρή λειτουργία' θα εμποδίσει τους προγραμματιστές να δημιουργήσουν καθολικές μεταβλητές.
- Οι προγραμματιστές δεν επιτρέπεται να χρησιμοποιούν διπλές παραμέτρους.
- Η αυστηρή λειτουργία θα σας περιορίσει από τη χρήση της λέξης-κλειδιού JavaScript ως όνομα μεταβλητής ή όνομα συνάρτησης.
- Η αυστηρή λειτουργία δηλώνεται με τη λέξη-κλειδί «χρήση αυστηρού» στην αρχή του σεναρίου.
- Όλα τα προγράμματα περιήγησης υποστηρίζουν αυστηρή λειτουργία.
Ε # 14) Τι είναι οι λειτουργίες αυτοκαλλιέργειας;
Απάντηση: Είναι επίσης γνωστές ως «Εκφράσεις συναρτήσεων άμεσης επίκλησης» ή «Ανώνυμες λειτουργίες αυτοεκτέλεσης». Αυτές οι συναρτήσεις ενεργοποιούνται αυτόματα στον κώδικα, επομένως ονομάζονται «Self Funoking Functions».
Συνήθως, ορίζουμε μια συνάρτηση και την καλούμε, αλλά αν θέλουμε να εκτελέσουμε μια συνάρτηση αυτόματα όπου εξηγείται και αν δεν πρόκειται να την καλέσουμε ξανά, μπορούμε να χρησιμοποιήσουμε ανώνυμες συναρτήσεις. Και αυτοί οι τύποι συναρτήσεων δεν έχουν όνομα.
Q # 15) Ποια είναι η σύνταξη του «Self Invoking Function»; Δώσε ένα παράδειγμα?
Απάντηση:
Η σύνταξη για τη συνάρτηση Self-Invoking:
(function () { return () } () ;
Εδώ, η τελευταία παρένθεση «()» στη σύνταξη δηλώνει ότι είναι μια παράσταση συνάρτησης.
Παράδειγμα συναφών λειτουργιών:
Sample: Software Testing Help
Example for Self-Invoking
(function (){ elem = document.getElementById('dispaly_num'); elem.innerHTML = 'This function has no name.
It is called automatically'; }());
Εδώ, η ανώνυμη συνάρτηση καλείται αυτόματα στο απόσπασμα κώδικα.
Η συνάρτηση χρησιμοποιείται για τον ορισμό της ιδιότητας κειμένου του
με ετικέτα 'display_num' ως αναγνωριστικό.
Έξοδος του αποσπάσματος κώδικα:
Αυτή η συνάρτηση δεν έχει όνομα.
Ονομάζεται αυτόματα
Ε # 16) Στο παρακάτω απόσπασμα κώδικα, μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα; εξηγήστε το σφάλμα;
Απάντηση:
Sample : Software Testing Help
Example for JavaScript Hoisting
first_num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = ' Here the variable first_num: '+first_num +' is taken to the top
' + 'Since second variable is initialised the value is not taken to the top and it's value is ' + ''+second_num +' “; var first_num; // declaration only var second_num =200; // Initialised the variable
Ανατρέξτε στο προηγούμενο Q # 11, όπως εξηγείται εκεί, ο διερμηνέας θα μεταφέρει όλες τις μεταβλητές που δηλώθηκαν εκτός από την αρχικοποίηση στην κορυφή.
Ως εκ τούτου, η μεταβλητή «first_num» μεταφέρεται στην κορυφή και η μεταβλητή «second_num» αρχικοποιείται με μια τιμή, οπότε δεν μεταφέρεται στην κορυφή. Αυτός ο κωδικός δεν θα προκαλέσει σφάλμα. Ωστόσο, η τιμή του «second_num» δεν είναι καθορισμένη.
Έξοδος του αποσπάσματος κώδικα:
Εδώ η μεταβλητή first_num: 100 μεταφέρεται στην κορυφή
Δεδομένου ότι η δεύτερη μεταβλητή αρχικοποιείται, η τιμή δεν μεταφέρεται στην κορυφή και η τιμή της δεν είναι καθορισμένη
Ε # 17) Εάν πρέπει να αποκρύψετε τον κώδικα JavaScript από τις παλαιότερες εκδόσεις του προγράμματος περιήγησης, πώς θα τον εκτελέσετε;
Απάντηση: Στον κώδικα, μετά την ετικέτα, προσθέστε '
Αυτό δεν επιτρέπει στο πρόγραμμα περιήγησης να εκτελέσει τον κώδικα JavaScript εάν ήταν παλαιότερη έκδοση του. Επίσης, μετά την τελική ετικέτα, προσθέστε την ετικέτα '// ->' HTML.
Αυτή η μέθοδος θα βοηθήσει στην επίλυση προβλημάτων συμβατότητας και ζητημάτων διεπαφής χρήστη σε κάποιο βαθμό.
Sample: Software Testing Help
Εδώ, το απόσπασμα κώδικα μετά την εκτέλεση μιας ετικέτας στο πρόγραμμα περιήγησής μου, καθώς δεν χρησιμοποιώ παλαιότερη έκδοση του προγράμματος περιήγησης.
Έξοδος του αποσπάσματος κώδικα:
Εδώ δεν χρησιμοποιώ παλαιότερη έκδοση του προγράμματος περιήγησης.
Έτσι ο κώδικας θα λειτουργήσει στο πρόγραμμα περιήγησής μου
Ε # 18) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα, εξηγήστε το σφάλμα;
Sample: Software Testing Help
Find the output
var first_num =500; var result= function(){ document.getElementById('display').innerHTML = first_num; var first_num =1000; } result();
Απάντηση: Εδώ στον κωδικό που δίνεται παραπάνω, η τιμή της μεταβλητής «first_num» δεν θα είναι 1000.
Στο JavaScript, δεν υπάρχει ανύψωση για μεταβλητή αρχικοποίηση. Η συνάρτηση «αποτέλεσμα ()» θα επιλέξει την τοπική μεταβλητή «first_num», όπως δηλώνεται μέσα στη συνάρτηση. Δεδομένου ότι η μεταβλητή δηλώνεται μετά τη χρήση της, η τιμή του «first_num» είναι απροσδιόριστη.
Έξοδος του αποσπάσματος κώδικα:
Απροσδιόριστος
Q # 19) Ποια είναι η διαφορά μεταξύ της λέξης-κλειδιού «var» και «let»;
Απάντηση: Οι διαφορές είναι οι εξής:
Που | αφήνω |
---|---|
Η λέξη-κλειδί «var» εισήχθη σε κώδικα JavaScript από την αρχή το ίδιο το στάδιο. | Η λέξη-κλειδί «let» εισάγεται μόνο το 2015. |
Η λέξη-κλειδί «Var» έχει εύρος συνάρτησης. Η μεταβλητή που ορίζεται με το var είναι διαθέσιμη οπουδήποτε μέσα στη συνάρτηση | Μια μεταβλητή που δηλώνεται με τη λέξη-κλειδί «let» έχει πεδίο εφαρμογής μόνο σε αυτό το μπλοκ. Λοιπόν, ας έχουμε ένα Block Scope. |
Η μεταβλητή που δηλώνεται με «var» ανυψώνεται | Η μεταβλητή που δηλώνεται με 'let' ανυψώνεται |
Ε # 20) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
Find the output
if(true){ var first_num =1000; let second_num=500; } document.getElementById('display_first').innerHTML = 'First Number:' + first_num; document.getElementById('display_second').innerHTML = 'Second Number:' + second_num;
Απάντηση:
Έξοδος του αποσπάσματος κώδικα:
Πρώτα Αριθμός : 1000
Θα πάρουμε 'Πρώτα Αριθμός : 1000 ' ως έξοδος. Υπάρχει επίσης ένα σφάλμα «Uncaught Reference Error».
Στο απόσπασμα κώδικα, το εύρος του «second_num» βρίσκεται μόνο στο μπλοκ if (). Εάν ένας προγραμματιστής προσπαθήσει να αποκτήσει πρόσβαση στην τιμή εκτός του μπλοκ, θα λάβει ένα «σφάλμα αναφοράς χωρίς δέσμευση».
Σφάλμα αναφοράς που δεν έχει επιτευχθεί: το second_num δεν έχει οριστεί.
Ε # 21) Ποια είναι η διαφορά μεταξύ «==» και «===»;
Απάντηση: Και οι δύο '==' και '===' είναι τελεστές σύγκρισης.
«==» χειριστής | «===» τελεστής |
---|---|
Είναι γνωστό ως «Τύπος μετατροπής χειριστή» | Είναι γνωστό ως «Χειριστής αυστηρής ισότητας» |
Συγκρίνει την τιμή, δεν συγκρίνει τον τύπο | Συγκρίνει τόσο την τιμή όσο και τον τύπο. |
Q # 22) Ποια είναι η διαφορά μεταξύ «let» και «const»;
Απάντηση: Οι διαφορές έχουν ως εξής:
αφήνω | υπ |
---|---|
χρησιμοποιώντας το «let» μπορούμε να αλλάξουμε την τιμή της μεταβλητής όσες φορές | χρησιμοποιώντας το «const», μετά την πρώτη εκχώρηση της τιμής δεν μπορούμε να επαναπροσδιορίσουμε την τιμή ξανά |
Εξετάστε τον κωδικό { ας πρώτα_num = 1; first_num = 2; έγγραφο. γράψτε (first_num); } Εδώ ο κώδικας θα δώσει έξοδο, καθώς η αλλαγή στην τιμή του first_num είναι δυνατή. | Εξετάστε τον κωδικό { const second_num = 1; second_num = 2; έγγραφο. γράψτε (second_num); } Εδώ ο κώδικας θα δημιουργήσει ένα σφάλμα, καθώς το 'second_num' έχει αντιστοιχιστεί με μια δεύτερη τιμή. |
Ε # 23) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
Example of 'Const' Keyword
let first_num =500; first_num=501; document.getElementById('display_first').innerHTML = 'First Number:'+ first_num ; const second_num =1000; second_num=1001; document.getElementById('display_second').innerHTML = 'Second Number :'+second_num;
Απάντηση: Ανατρέξτε στο Q # 21 πριν διαβάσετε περαιτέρω
Έξοδος του αποσπάσματος κώδικα:
Πρώτος αριθμός: 501
Θα λάβουμε επίσης ένα σφάλμα κατά την εκτέλεση του κώδικα, καθώς προσπαθούμε να αλλάξουμε την τιμή μιας μεταβλητής «const».
Λάθος: Uncaught TypeError: Ανάθεση σε σταθερή μεταβλητή.
Q # 24) Ποια είναι η διαφορά μεταξύ «null» και «undefined»;
Απάντηση: Και οι δύο λέξεις-κλειδιά αντιπροσωπεύουν κενές τιμές .
Οι διαφορές είναι:
- Στο 'undefined', θα ορίσουμε μια μεταβλητή, αλλά δεν θα εκχωρήσουμε μια τιμή σε αυτήν τη μεταβλητή. Από την άλλη πλευρά, στο «null» θα ορίσουμε μια μεταβλητή και θα αντιστοιχίσουμε την τιμή «null» στη μεταβλητή.
- τύπος (μη καθορισμένου) και τύπος (μηδενικού) αντικειμένου.
Q # 25) Ποια είναι η διαφορά μεταξύ της «δήλωσης συνάρτησης» και της «έκφρασης συνάρτησης»;
Απάντηση: Μπορεί να εξηγηθεί με ένα παράδειγμα:
Sample: Software Testing Help
Example Function Declaration
function add(first_num,second_num){ return first_num + second_num; } var substract = function sub(first_num,second_num){ return first_num - second_num; } var first_num=700; var second_num=300; document.getElementById('display_add').innerHTML = 'Sum of the number is:' + add(first_num,second_num); document.getElementById('display_sub').innerHTML = 'Difference of the number is:' + substract(first_num,second_num);
Όπως φαίνεται στο παράδειγμα, η προσθήκη () είναι μια δήλωση συνάρτησης και η αφαίρεση () είναι μια παράσταση συνάρτησης. Η σύνταξη της δήλωσης συνάρτησης είναι σαν μια συνάρτηση που αποθηκεύεται σε μια μεταβλητή.
Οι δηλώσεις συναρτήσεων ανυψώνονται αλλά οι εκφράσεις συνάρτησης δεν ανυψώνονται.
Q # 26) Τι είναι το 'settimeout ()';
Απάντηση: Θα εξηγηθεί καλύτερα με ένα παράδειγμα.
Εξετάστε το απόσπασμα κώδικα
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Έξοδος του αποσπάσματος κώδικα:
Πρώτη γραμμή
Δεύτερη γραμμή
Τρίτη γραμμή
Τώρα εισάγετε τη μέθοδο settimeout () και τυλίξτε το ίδιο σύνολο κώδικα σε αυτήν.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Έξοδος του αποσπάσματος κώδικα:
Δεύτερη γραμμή
Τρίτη γραμμή
Πρώτη γραμμή
Με την εισαγωγή της ρύθμισης (), οι διαδικασίες γίνονται ασύγχρονες. Οι πρώτες δηλώσεις που θα τοποθετηθούν στη στοίβα είναι το Console.log (‘Second Line’) και το Console.log (‘Third Line’) και θα εκτελεστούν πρώτα. Πρέπει να περιμένετε μέχρι να ολοκληρωθούν τα πάντα στη στοίβα.
Παρόλο που το '0' είναι το χρονικό όριο, δεν σημαίνει ότι θα εκτελεστεί αμέσως.
Q # 27) Τι είναι το κλείσιμο και πώς το χρησιμοποιείτε;
Απάντηση: Το κλείσιμο είναι μια εσωτερική λειτουργία. Μπορεί να έχει πρόσβαση στις εξωτερικές μεταβλητές μιας συνάρτησης. Στο Κλείσιμο, μέσα στη συνάρτηση_1 υπάρχει μια άλλη συνάρτηση_2 που επιστρέφει την τιμή «Α» και η συνάρτηση_1 επιστρέφει επίσης μια τιμή. πείτε «Β».
Εδώ, το άθροισμα () είναι η εξωτερική συνάρτηση και η προσθήκη () είναι μια εσωτερική συνάρτηση, μπορεί να έχει πρόσβαση σε όλες τις μεταβλητές, συμπεριλαμβανομένων των 'first_num' 'second_num' και 'third_num'. Η εξωτερική συνάρτηση καλεί την εσωτερική συνάρτηση προσθήκη ().
// To find the sum of two numbers using closure method function sum( first_num, second_num ) { var sumStr= 600; function add(first_num , second_num) { return (sumStr + (first_num + second_num)); } return add(); } document.write('Result is :'+ sum(150,350));
Έξοδος του αποσπάσματος κώδικα:
Το αποτέλεσμα είναι: 500
Ε # 28) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
Example Assignmnet Statement
var x =500; let y,z,p,q; q=200; if(true){ x=y=z=p=q; document.getElementById('display').innerHTML = 'x='+ x + '
y :'+ y +'
z :'+ z+'
p :'+ p+'
q :'+ q; }
Απάντηση: Οι δηλώσεις ανάθεσης λαμβάνονται από δεξιά προς τα αριστερά.
Έξοδος του αποσπάσματος κώδικα:
x = 200
και: 200
με: 200
σελ. 200
Ερ: 200
Ε # 29) Μπορείτε να δώσετε ένα παράδειγμα όπου το απόσπασμα κώδικα δείχνει τη διαφορά μεταξύ των μεθόδων test () και exec ();
Sample : Software Testing Help
Example for exec() methods
Click the button to search for a pattern 'How“ in the given string 'Hello. Good Morning. How do you feel today?'
If the 'How' is found, the method will return the pattern
Search function searchTxt() { var str = 'Hello. Good Morning. How do you feel today?'; var search_patt = new RegExp('How'); var res = search_patt.exec(str); document.getElementById('result').innerHTML ='Found the pattern :'+ res; }
Απάντηση: Αυτό είναι ένα παράδειγμα της μεθόδου δοκιμής () και exec (), Ανατρέξτε στις Ερωτήσεις Νο: 5 για περισσότερες λεπτομέρειες.
Έξοδος του αποσπάσματος κώδικα:
Βρέθηκε το μοτίβο χρησιμοποιώντας το exec (): Πώς
Χρησιμοποιώντας το τεστ () το αποτέλεσμα είναι: true
Ε # 30) Μπορείτε να δώσετε ένα παράδειγμα που δείχνει την ανύψωση JavaScript;
Απάντηση:
Sample: Software Testing Help
Example for JavaScript Hoisting
num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = 'Here the variables are used before declaring it.' + '
The value of the variable is ' + num; var num; // Declare the varaible
Ανατρέξτε στο Q # 11 για περισσότερες λεπτομέρειες.
Εδώ χρησιμοποιείται η μεταβλητή «num» πριν την δηλώσει. Ωστόσο, το JavaScript Hoisting θα το επιτρέψει.
Έξοδος του αποσπάσματος κώδικα:
Εδώ οι μεταβλητές χρησιμοποιούνται πριν από τη δήλωση.
Η τιμή της μεταβλητής είναι 100
Ε # 31) Μπορείτε να δώσετε ένα παράδειγμα που δείχνει τη χρήση της λέξης-κλειδιού «εντοπισμού σφαλμάτων» στον κώδικα JavaScript;
Απάντηση:
Sample: Software Testing Help
Example for debug keyword
Here to test the code, debugger must be enabled for the browser,
during debugging the code below should stop executing before it goes to the next line.
var a = 1000; var b = 500; var sum = a + b; document.getElementById('wait_result').innerHTML = 'Adding numbers......
Select 'Resume Script execution' to continue: '; debugger; document.getElementById('show_result').innerHTML = 'Sum of the numbers : '+sum;
Σημείωση: Το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να είναι ενεργοποιημένο ώστε το πρόγραμμα περιήγησης να ελέγχει τον κώδικα. Ανατρέξτε στο Ques No: 5 για περισσότερες λεπτομέρειες
Αυτό είναι ένα παράδειγμα λέξης-κλειδιού εντοπισμού σφαλμάτων (Χρησιμοποιείται πρόγραμμα περιήγησης: Chrome)
Έξοδος του αποσπάσματος κώδικα:
Εδώ για να δοκιμάσετε τον κώδικα, το πρόγραμμα εντοπισμού σφαλμάτων πρέπει να είναι ενεργοποιημένο για το πρόγραμμα περιήγησης,
κατά τη διάρκεια του εντοπισμού σφαλμάτων, ο παρακάτω κώδικας θα πρέπει να σταματήσει να εκτελείται πριν προχωρήσει στην επόμενη γραμμή.
Προσθήκη αριθμών…
Επιλέξτε 'Συνέχιση εκτέλεσης σεναρίου' για να συνεχίσετε:
Άθροισμα των αριθμών: 1500
Ε # 32) Στο παρακάτω απόσπασμα κώδικα μπορείτε να προβλέψετε την έξοδο ή Εάν εμφανιστεί κάποιο σφάλμα. εξηγήστε το σφάλμα;
Sample: Software Testing Help
Example Type Converting
Τελευταία εργαλεία δοκιμών αυτοματισμού στην αγορά
var first_num =500; var first_name='500'; if(first_num == first_name){ document.getElementById('display').innerHTML = 'Comparison will return 'true' by Type converting Operator '; }
Απάντηση: Εξετάστε τον κωδικό
If (‘100’==100) { document. write (“It’s a Type Converting Operator”); } Here typeof(‘100’) is string typeof(100) is number the ‘==’ operator will convert the number type, which is on the right side of the operator to string and compare both values
Έξοδος του αποσπάσματος κώδικα:
Η σύγκριση θα επιστρέψει «αληθές» από τον Τύπο μετατροπής χειριστή
Q # 33) Είναι Java και JavaScript παρόμοια; Εάν όχι, ποια είναι η διαφορά μεταξύ Java & JavaScript;
Απάντηση:
Sl Όχι | Ιάβα | JavaScript |
---|---|---|
ένας | Η Java είναι μια γλώσσα προγραμματισμού γενικής χρήσης. | Το JavaScript είναι μια υψηλού επιπέδου ερμηνευμένη γλώσσα δέσμης ενεργειών. |
δύο | Η Java βασίζεται σε έννοιες Object-Oriented Programming (OOPS). | Η JavaScript είναι αντικειμενοστραφής και λειτουργική δέσμη ενεργειών. |
3 | Εκτελείται σε Java Virtual Machine (JVM) ή πρόγραμμα περιήγησης. | Εκτελείται μόνο σε πρόγραμμα περιήγησης. |
4 | Ο κώδικας Java πρέπει να καταρτιστεί ως αρχείο κλάσης Java. | Το JavaScript δεν έχει κανένα βήμα σύνταξης. Αντ 'αυτού, ένας διερμηνέας στο πρόγραμμα περιήγησης διαβάζει τον κώδικα JavaScript, ερμηνεύει κάθε γραμμή και τον εκτελεί. |
Έτσι, εν συντομία, αυτές οι γλώσσες δεν συνδέονται καθόλου ή εξαρτώνται μεταξύ τους.
Ε # 34) Ποιοι τύποι δεδομένων υποστηρίζονται από το JavaScript;
Απάντηση: Το JavaScript υποστηρίζει τα ακόλουθα Επτά πρωτόγονοι τύποι δεδομένων και Αντικείμενο :
(i) Boolean: Αυτός είναι ένας λογικός τύπος δεδομένων που μπορεί να έχει μόνο δύο τιμές, δηλαδή true ή false. Όταν ελέγξουμε τον τύπο δεδομένων 'true' ή 'false' χρησιμοποιώντας το typeof operator, επιστρέφει μια δυαδική τιμή.
Για παράδειγμα, typeof (true) // επιστρέφει boolean
Οι δυαδικές τιμές μπορούν να χρησιμοποιηθούν για τη σύγκριση δύο μεταβλητών.
Για παράδειγμα,
var x = 2; var y = 3; x==y //returns false
Η τιμή boolean μπορεί επίσης να χρησιμοποιηθεί για τον έλεγχο μιας συνθήκης
Για παράδειγμα,
var x = 2; var y = 3; If(xΕάν η παραπάνω συνθήκη «x Μια boolean μεταβλητή μπορεί να δημιουργηθεί χρησιμοποιώντας τη συνάρτηση Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Επίσης, το αντικείμενο Boolean μπορεί να δημιουργηθεί χρησιμοποιώντας τον νέο χειριστή ως εξής:
var myobj = new Boolean(true);
(Ii) Μηδέν :Αυτός είναι ένας τύπος δεδομένων που αντιπροσωπεύεται από μία μόνο τιμή, την ίδια την «μηδενική». Μια μηδενική τιμή δεν σημαίνει καμία τιμή.
Για παράδειγμα,
var x = null; console.log(x);// This returns null
Εάν ελέγξουμε τον τύπο δεδομένων ενός χειριστή typeof, λαμβάνουμε:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Απροσδιόριστο: Αυτός ο τύπος δεδομένων σημαίνει μια μεταβλητή που δεν έχει οριστεί. Η μεταβλητή δηλώνεται αλλά δεν περιέχει καμία τιμή.
Για παράδειγμα,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Η μεταβλητή 'a' έχει δηλωθεί, αλλά δεν έχει εκχωρηθεί ακόμη τιμή.
Μπορούμε να εκχωρήσουμε μια τιμή σε:
(iv) Αριθμός: Αυτός ο τύπος δεδομένων μπορεί να είναι τιμή κινητής υποδιαστολής, ακέραιος, εκθετική τιμή, «NaN» ή «Άπειρο».
Για παράδειγμα,
var x=10; // This is an integer value var y=10.5; // decimal value var c = 10e5 // an exponential value ‘xyz’ * 10; //This returns NaN 10/0; // This returns infinity
Οι κυριολεκτικοί αριθμοί μπορούν να δημιουργηθούν χρησιμοποιώντας τη συνάρτηση Number ():
var x = Number(10); console.log(x);// This returns 10
Επίσης, το αριθμητικό αντικείμενο μπορεί να δημιουργηθεί χρησιμοποιώντας τον «νέο» χειριστή ως εξής:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Πρόκειται για ένα αριθμητικό πρωτόγονο που μπορεί να αντιπροσωπεύει ακέραιους αριθμούς με αυθαίρετη ακρίβεια. Το BigInt δημιουργείται προσαρτώντας το n στο τέλος ενός ακέραιου
Για παράδειγμα,
const x = 15n;
Ο αριθμός μπορεί να μετατραπεί σε BigInt με τη συνάρτηση BigInt (αριθμός).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Συμβολοσειρά: Αυτός ο τύπος δεδομένων χρησιμοποιείται για την αναπαράσταση δεδομένων κειμένου.
Για παράδειγμα,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Νέα συμβολοσειρά μπορεί επίσης να δημιουργηθεί χρησιμοποιώντας τη λειτουργία String () ως εξής:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Η συνάρτηση String () χρησιμοποιείται επίσης για τη μετατροπή μιας τιμής non-string σε μια συμβολοσειρά.
String(150); // This statement will create a string ‘150’
Η συμβολοσειρά μπορεί επίσης να δημιουργηθεί χρησιμοποιώντας 'νέος' χειριστής
var strVar4 = new String(“Hi,how are you?”); // This is a string object console.log(strVar4); // This will return the string ‘Hi,how are you?’
Οι συμβολοσειρές JavaScript είναι αμετάβλητες, δηλαδή όταν δημιουργηθεί μια συμβολοσειρά, δεν μπορεί να τροποποιηθεί. Αλλά μια άλλη συμβολοσειρά μπορεί να δημιουργηθεί χρησιμοποιώντας μια λειτουργία στην αρχική συμβολοσειρά.
Για παράδειγμα,
- Συνδυάζοντας δύο χορδές χρησιμοποιώντας τον τελεστή συνένωσης (+) ή String.concat () .
- Παίρνοντας το substring χρησιμοποιώντας String.substr () .
(vii) Σύμβολο: Αυτή είναι μια μοναδική και αμετάβλητη πρωτόγονη τιμή και χρησιμοποιείται ως το κλειδί μιας ιδιότητας αντικειμένου. Τα σύμβολα είναι νέα στη JavaScript στο ECMAScript 2015
ΠΡΟΣ ΤΗΝ Σύμβολο Η τιμή αντιπροσωπεύει ένα μοναδικό αναγνωριστικό.
Για παράδειγμα,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Έτσι, δημιουργούνται πολλά σύμβολα με την ίδια περιγραφή, αλλά με διαφορετικές τιμές.
Δεν είναι δυνατή η αυτόματη μετατροπή των συμβόλων.
Για παράδειγμα,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Αυτό μπορεί να χρησιμοποιηθεί χρησιμοποιώντας toString () ως εξής:
alert(symVar1.toString()); // Symbol(symVar1), this works
Τύπος δεδομένων αντικειμένου
Ένα αντικείμενο είναι μια τιμή στη μνήμη που αναφέρεται από ένα αναγνωριστικό.
Το αντικείμενο αναφέρεται σε μια δομή δεδομένων με δεδομένα και οδηγίες για την εργασία με τα δεδομένα. Τα αντικείμενα μερικές φορές αναφέρονται σε πραγματικά πράγματα, Για παράδειγμα, υπάλληλος ή αυτοκίνητο.
Για παράδειγμα,
Σε αντικείμενα JavaScript, οι τιμές γράφονται ως όνομα: τιμή ζευγάρια όπως παρακάτω:
var car1 = {type:'BMW', model:” The BMW X5“, color:'white'}; An object definition can span multiple lines as follows: var car1 = { type:'BMW', model: 'The BMW X5', color:'white' };
ο όνομα: τιμές ονομάζονται ζεύγη ιδιότητες . Για παράδειγμα, «Τύπος» είναι ιδιοκτησία και «BMW» είναι η αξία του ακινήτου.
Οι τιμές ιδιοτήτων είναι προσβάσιμες χρησιμοποιώντας το αντικείμενοName.propertyName
ή αντικείμενοName ('propertyName')
Για παράδειγμα, car1.type ή car1 ('type'), επιστρέφει 'BMW'
Η τιμή του αντικειμένου car1 μπορεί να αλλάξει ως εξής:
car1.type = “Audi”;
Τώρα,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
Ε # 35) Είναι το JavaScript μια γλώσσα με πεζά γράμματα;
Απάντηση: Ναι, το JavaScript είναι μια γλώσσα με κεφαλαία γράμματα. Σημασία αυτού είναι οι λέξεις-κλειδιά της γλώσσας, των μεταβλητών, των ονομάτων συνάρτησης και οποιωνδήποτε άλλων αναγνωριστικών που πρέπει πάντα να πληκτρολογούνται με σταθερά κεφαλαία ή πεζά γράμματα.
Για παράδειγμα, Το myVar είναι μια διαφορετική μεταβλητή από το myvar.
Q # 36) Πώς να προσδιορίσετε σε ποιον τύπο δεδομένων ανήκει ένας τελεστής;
Απάντηση: Μπορείτε να βρείτε τον τύπο δεδομένων Operand χρησιμοποιώντας τον τύπο του χειριστή
Επιστρέφει μια συμβολοσειρά που δείχνει τον τύπο του τελεστή.
Σύνταξη : τύπος τελεστή
τύπος (τελεστής)
Ο τελεστής μπορεί να είναι οποιαδήποτε μεταβλητή, αντικείμενο ή συνάρτηση.
Για παράδειγμα,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Ε # 37) Γιατί το JavaScript ονομάζεται ως χαλαρά δακτυλογραφημένη ή δυναμική γλώσσα;
Απάντηση: Το JavaScript καλείται ως χαλαρά δακτυλογραφημένο ή δυναμική γλώσσα επειδή οι μεταβλητές JavaScript δεν σχετίζονται άμεσα με οποιονδήποτε τύπο τιμής και οποιαδήποτε μεταβλητή μπορεί να εκχωρηθεί και να εκχωρηθούν εκ νέου τιμές όλων των τύπων:
Για παράδειγμα,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Q # 38) Τι είναι μηδενικό στο JavaScript;
Απάντηση: Η τιμή null αντιπροσωπεύει την εσκεμμένη απουσία οποιασδήποτε τιμής αντικειμένου.
Αυτή είναι μια από τις πρωτόγονες τιμές του JavaScript.
Για παράδειγμα,
Var myvar = null; console.log(myvar); //This will print null
Q # 39) Τι είναι το NaN;
Απάντηση: NaN είναι μια ιδιότητα παγκόσμιου αντικειμένου που αντιπροσωπεύει το Not-A-Number.
Για παράδειγμα,
function checkValue(x) { if (isNaN(x)) { return NaN; } return x; } console.log(checkValue ('5')); //expected output: '5' console.log(checkValue (‘Any value’)); //expected output: NaN
Q # 40) Πώς να χωρίσετε μια συμβολοσειρά σε στοιχεία πίνακα;
Απάντηση: Μια συμβολοσειρά μπορεί να χωριστεί σε έναν πίνακα χρησιμοποιώντας τη μέθοδο διαίρεσης JavaScript (). Αυτή η μέθοδος παίρνει μία μόνο παράμετρο, τον χαρακτήρα στον οποίο θέλετε να διαχωρίσετε τη συμβολοσειρά και επιστρέφει τις υποστρώσεις μεταξύ του διαχωριστή ως στοιχεία σε έναν πίνακα.
Για παράδειγμα,
myDaysString = ''Sunday,Monday,Tuesday,Wednesday”; String can be split at comma as below: myDaysArray= myDaysString.split(','); console.log(myDaysArray(0)); //output is the first item in the array i.e. Sunday console.log (myDaysArray(myDaysArray.length-1)); //output is the last //item in the array i.e. Wednesday
Ε # 41) Πώς να ενώσετε τα στοιχεία του πίνακα σε μια συμβολοσειρά;
Απάντηση: Τα στοιχεία της σειράς μπορούν να ενωθούν χρησιμοποιώντας τη μέθοδο join ().
Για παράδειγμα,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Τα στοιχεία της σειράς ενώνονται σε μια συμβολοσειρά ως εξής:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Ε # 42) Τι είδους σφάλματα έχει η JavaScript;
Απάντηση: Ακολουθούν οι 2 τύποι σφαλμάτων:
- Σφάλματα σύνταξης: Αυτά είναι τυπογραφικά λάθη ή λάθη στην ορθογραφία στον κώδικα που προκαλούν το πρόγραμμα να μην τρέχει καθόλου ή να σταματήσει να λειτουργεί εν μέρει. Συνήθως, παρέχονται επίσης μηνύματα σφάλματος.
- Σφάλματα λογικής: Αυτά είναι σφάλματα όταν η σύνταξη είναι σωστή, αλλά η λογική ή ο κωδικός είναι ανακριβής. Εδώ, το πρόγραμμα εκτελείται με επιτυχία χωρίς σφάλματα. Αλλά τα αποτελέσματα εξόδου είναι λανθασμένα. Αυτά είναι συχνά πιο δύσκολο να διορθωθούν από τα σφάλματα σύνταξης, καθώς αυτά τα προγράμματα δεν δίνουν μηνύματα σφάλματος για λογικά σφάλματα.
Q # 43) Πώς να χειριστείτε έναν μεγάλο αριθμό επιλογών για μία κατάσταση σε μια αποτελεσματική τρόπος?
Απάντηση: Αυτό γίνεται χρησιμοποιώντας δηλώσεις διακόπτη:
Για παράδειγμα,
switch (expression) { case choice1: code to be run break; case choice2: code to be run break; : : default: code to run if there is no case match }
Q # 44) Τι είναι ο τριμερής χειριστής;
Απάντηση: Ο τριαδικός ή υπό όρους είναι ένας χειριστής που χρησιμοποιείται για να κάνει μια γρήγορη επιλογή μεταξύ δύο επιλογών με βάση μια πραγματική ή ψευδή δοκιμή.
Αυτό μπορεί να χρησιμοποιηθεί ως υποκατάστατο forif… αλλιώς μπλοκ όταν έχετε δύο επιλογές που επιλέγονται μεταξύ μιας πραγματικής / ψευδούς κατάστασης.
Για παράδειγμα,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Ο ίδιος κωδικός μπορεί να γραφτεί χρησιμοποιώντας έναν τριμερή τελεστή σε μία δήλωση ως εξής:
αποτέλεσμα = (συνθήκη); «αποτέλεσμα 1»: «αποτέλεσμα 2»;
Ερώτηση # 45) Ας υποθέσουμε ότι υπάρχει ένα αντικείμενο που ονομάζεται άτομο
άτομο const = {
όνομα : {
πρώτο: «Bob»,
τελευταία: «Smith»
}
};
Ποιο από τα παρακάτω είναι ο σωστός τρόπος πρόσβασης στην ιδιότητα αντικειμένου «πρώτα»;
- person.name.first,ή
- άτομο («όνομα») («πρώτο»);
Απάντηση: Και οι δύο είναι σωστοί τρόποι. δηλαδή χρησιμοποιώντας τελείες όπως το person.name.first ή χρησιμοποιώντας τη σημείωση αγκύλης όπως το άτομο (‘name’) (‘first’)
Q # 46) Τι είναι 'αυτό';
Απάντηση: Η λέξη-κλειδί «αυτό» αναφέρεται στο τρέχον αντικείμενο στο οποίο γράφεται ο κώδικας.
Αυτό γίνεται για να διασφαλιστεί ότι οι σωστές τιμές χρησιμοποιούνται όταν αλλάζει το περιβάλλον ενός μέλους
Για παράδειγμα, υπάρχουν δύο διαφορετικές περιπτώσεις ενός πρόσωπο έχουν διαφορετικά ονόματα και απαιτείται να εκτυπώσουν το δικό τους όνομα στην ειδοποίηση ως εξής:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Εδώ, η έξοδος είναι Καλημέρα! Είμαι «Τομ»
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Εδώ, η έξοδος είναι Καλημέρα! Είμαι «Τζέρι»
Q # 47) Τι είναι οι ανώνυμες συναρτήσεις;
Απάντηση: Οι ανώνυμες συναρτήσεις είναι συναρτήσεις χωρίς κανένα όνομα και δεν θα κάνουν τίποτα από μόνα τους. Χρησιμοποιούνται γενικά μαζί με έναν χειριστή συμβάντων.
Για παράδειγμα, στον παρακάτω κώδικα, ανώνυμος κωδικός λειτουργίας, δηλ. ειδοποίηση («Γεια») · θα εκτελούσε κλικ στο σχετικό κουμπί:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Η ανώνυμη συνάρτηση μπορεί επίσης να αντιστοιχιστεί στην τιμή μιας μεταβλητής.
Για παράδειγμα,
var myVar = function() { alert('Hi'); }
Αυτή η συνάρτηση μπορεί να γίνει χρήση χρησιμοποιώντας:
myVar();
συμπέρασμα
Είναι καλύτερα να αποθηκεύσετε τους κώδικες JavaScript, CSS και HTML ως ξεχωριστά αρχεία εξωτερικού 'js'. Ο διαχωρισμός του τμήματος κωδικοποίησης και του τμήματος HTML θα διευκολύνει την ανάγνωση και τη συνεργασία μαζί τους. Πολλοί προγραμματιστές βρίσκουν επίσης αυτή τη μέθοδο ευκολότερη στην εργασία ταυτόχρονα.
Ο κώδικας JavaScript είναι εύκολο να διατηρηθεί. Το ίδιο σύνολο κωδικών JavaScript μπορεί να χρησιμοποιηθεί σε πολλές σελίδες. Εάν χρησιμοποιούμε εξωτερικούς κώδικες JavaScript και εάν πρέπει να αλλάξουμε τον κωδικό, τότε πρέπει να τον αλλάξουμε σε ένα μέρος. Για να μπορούμε να επαναχρησιμοποιήσουμε τον κώδικα και να τον διατηρήσουμε με πολύ πιο εύκολο τρόπο.
Προτεινόμενη ανάγνωση = >> Πληκτρολόγιο έναντι JavaScript
Ο κώδικας JavaScript έχει καλύτερη απόδοση. Τα εξωτερικά αρχεία JavaScript θα αυξήσουν την ταχύτητα φόρτωσης της σελίδας καθώς θα αποθηκευτούν στην κρυφή μνήμη από το πρόγραμμα περιήγησης.
Ελπίζω ότι θεωρήσατε χρήσιμες τις ερωτήσεις και απαντήσεις στη συνέντευξη JavaScript. Εξασκηθείτε σε όσο το δυνατόν περισσότερες ερωτήσεις και να είστε σίγουροι.
Συνιστώμενη ανάγνωση
- Ερωτήσεις και απαντήσεις συνέντευξης
- Κορυφαίες 32 καλύτερες ερωτήσεις και απαντήσεις συνέντευξης δεδομένων
- Ερωτήσεις και απαντήσεις συνέντευξης δοκιμών ETL
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης 20+ .NET
- Μερικές δύσκολες μη αυτόματες ερωτήσεις και απαντήσεις
- 25 Καλύτερες Ερωτήσεις και Απαντήσεις Συνέντευξης για Ευέλικτη Δοκιμή
- Ερωτήσεις συνέντευξης Spock με απαντήσεις (πιο δημοφιλείς)
- Μερικές ενδιαφέρουσες ερωτήσεις συνέντευξης δοκιμών λογισμικού