top 45 javascript interview questions with detailed answers
Am häufigsten gestellte grundlegende und fortgeschrittene JavaScript-Interviewfragen mit detaillierten Antworten für jeden JavaScript-Entwickler.
Wenn Sie sich auf ein Interview vorbereiten, finden Sie hier die am häufigsten gestellten Fragen und Antworten zum JS-Interview als Referenz.
Wir haben dasselbe entwickelt, um Sie mit den Fragen vertraut zu machen, die Ihnen während Ihres technischen Interviews möglicherweise begegnen.
Lass uns erforschen!!
Über JavaScript
JavaScript ist eine Programmiersprache auf hoher Ebene, wahrscheinlich eine der derzeit am häufigsten verwendeten Programmiersprachen der Welt. Es kann verwendet werden, um Webbrowser oder sogar Server zu programmieren.
Um die Bedeutung von JavaScript zu verstehen, deaktivieren Sie JavaScript in Ihrem Browser und versuchen Sie, die Webseite darin zu laden. Diese Webseiten funktionieren nicht richtig. Viele Inhalte in ihnen können sich schlecht verhalten. Fast alle modernen Browser verwenden die Kombination von JavaScript, CSS und HTML.
JavaScript ist eine interpretierte Programmiersprache. Ein Interpreter ist in Browser wie Google Chrome, Microsoft Internet Explorer usw. eingebettet. Daher kann sein Code von der JavaScript-Engine des Browsers verarbeitet werden.
JavaScript erschien im Dezember 1995 und hieß ursprünglich LiveScript, obwohl der Name aus Marketinggründen bald geändert wurde. Es sollte nicht mit 'Java' verwechselt werden, das ebenfalls etwas Ähnlichkeit aufweist, aber eine völlig andere Sprache ist.
Am häufigsten gestellte Fragen zu JavaScript-Interviews
F # 1) Was ist JavaScript?
Antworten: JavaScript ist eine von Netscape entwickelte Skriptsprache. Es kann verwendet werden, um Webbrowser oder sogar Server zu programmieren. Es kann den Inhalt der Webseite dynamisch aktualisieren, was das Schöne an dieser Sprache ist.
F # 2) Was sind die Vorteile der Verwendung von externem JavaScript?
Antworten: Die Verwendung von externem JavaScript in unserem Code hat viele Vorteile.
Diese sind unten angegeben.
- Die Codetrennung erfolgt.
- Die Wartbarkeit des Codes ist einfach.
- Die Leistung ist besser.
F # 3) Können Sie im folgenden Codefragment die Ausgabe vorhersagen oder den Fehler erklären, wenn Sie einen Fehler erhalten?
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;
Antwort ist r : Dieser Code erzeugt keine Fehler. Eine erneute Deklaration der Variablen ist in JavaScript zulässig. Daher geht der Wert der Variablen nach der Ausführung der Anweisung hier nicht verloren.
F # 4) Im folgenden Code-Snippet können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
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 ;
Antworten: Dieser Code zeigt keine Fehler!
Ausgabe des Code-Snippets:
Die erste variable Summe ist: 70 Sajeesh Sreeni
Die zweite variable Summe ist: Sajeesh Sreeni 5020
F # 5) Was ist der Unterschied zwischen test () und exec () Methoden?
Antworten: Sowohl test () als auch exec () sind RegExp-Ausdrucksmethoden.
Mit einem Prüfung () Wir werden eine Zeichenfolge nach einem bestimmten Muster durchsuchen. Wenn der passende Text gefunden wird, wird der Boolesche Wert 'true' oder 'false' zurückgegeben.
Aber in exec () Wir werden eine Zeichenfolge nach einem bestimmten Muster durchsuchen. Wenn der passende Text gefunden wird, wird das Muster selbst oder der Wert 'Null' zurückgegeben.
F # 6) Was sind die Vorteile von JavaScript?
Antworten: Diese Skriptsprache bietet viele Vorteile, wie unten angegeben.
- Leicht: Es ist einfach zu implementieren. Es hat kleine Speicherabdrücke.
- Interpretiert: Es ist eine interpretierte Sprache. Anweisungen werden direkt ausgeführt.
- Objektorientierter: Es ist eine objektorientierte Sprache.
- Erstklassige Funktionen: In JavaScript kann eine Funktion als Wert verwendet werden.
- Skriptsprache: In dieser Sprache werden Anweisungen für eine Laufzeitumgebung geschrieben.
F # 7) Im folgenden Code-Snippet können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Antworten: Die 'const'-Variable' first_num 'wird nicht mit einem Wert initialisiert, daher erzeugt der Code einen Syntaxfehler.
Ausgabe des Code-Snippets:
Fehler: Nicht erfasster Syntaxfehler: Fehlender Initialisierer in der const-Deklaration
F # 8) Haben Sie einen Browser zum Debuggen verwendet? Wenn ja, wie wird es gemacht?
Antworten: Durch Drücken der Taste 'F12' auf der Tastatur können wir das Debuggen im Browser aktivieren. Wählen Sie die Registerkarte 'Konsole', um die Ergebnisse anzuzeigen.
In der Konsole können wir Haltepunkte festlegen und den Wert in Variablen anzeigen. Alle modernen Browser verfügen über einen integrierten Debugger (Zum Beispiel: Chrome, Firefox, Opera und Safari ) . Diese Funktion kann ein- und ausgeschaltet werden.
F # 9) Wozu dient das Schlüsselwort 'Debugger' im JavaScript-Code?
Antworten: Die Verwendung des Schlüsselworts 'Debugger' im Code entspricht der Verwendung von Haltepunkten im Debugger.
Um den Code zu testen, muss der Debugger für den Browser aktiviert sein. Wenn das Debuggen für den Browser deaktiviert ist, funktioniert der Code nicht. Während des Debuggens des Codes sollte der verbleibende Teil nicht mehr ausgeführt werden, bevor er zur nächsten Zeile übergeht.
F # 10) Was sind die verschiedenen Arten von Fehlernamenwerten?
Antworten: Es gibt 6 Arten von Werten in der Eigenschaft 'Fehlername'.
Error | Beschreibung |
---|---|
Bereichsfehler | Wir erhalten diesen Fehler, wenn wir eine Zahl außerhalb des Bereichs verwenden |
Syntax-Fehler | Dieser Fehler tritt auf, wenn wir die falsche Syntax verwenden. (Siehe Frage Nr. 7) |
Referenzfehler | Dieser Fehler wird ausgelöst, wenn eine nicht deklarierte Variable verwendet wird. Siehe Fragen Nr. 19 |
Eval-Fehler | Wird aufgrund des Fehlers in eval () ausgelöst. In der neuen JavaScript-Version tritt dieser Fehler nicht auf |
Typ Fehler | Der Wert liegt außerhalb des Bereichs der verwendeten Typen. Bitte beziehen Sie sich auf Frage Nr.: 22 |
URI-Fehler | Aufgrund der Verwendung illegaler Zeichen. |
F # 11) Was ist JavaScript-Heben?
Antworten: Wenn bei der Verwendung der Methode 'JavaScript Hoisting' ein Interpreter den Code ausführt, werden alle Variablen an den oberen Rand des ursprünglichen / aktuellen Bereichs angehoben. Wenn Sie eine Variable irgendwo im Code deklariert haben, wird sie nach oben gebracht.
Diese Methode gilt nur für die Deklaration einer Variablen und nicht für die Initialisierung einer Variablen. Funktionen werden ebenfalls nach oben gehoben, während Funktionserklärungen nicht nach oben gehisst werden.
Grundsätzlich spielt es keine Rolle, wo wir die Variable im Code deklariert haben.
F # 12) Was ist JavaScript 'Strict Mode'?
Antworten: Der 'Strikte Modus' ist eine eingeschränkte Variante von JavaScript. Normalerweise ist diese Sprache beim Werfen von Fehlern „nicht sehr streng“. Im „Strict-Modus“ werden jedoch alle Arten von Fehlern ausgegeben, auch die stillen Fehler. Dadurch wird der Debugging-Prozess einfacher. Und die Wahrscheinlichkeit, einen Fehler für den Entwickler zu machen, ist geringer.
F # 13) Was sind die Merkmale von JavaScript 'Strict Mode'?
Antwort: Nachfolgend sind die Merkmale des „strengen Modus“ aufgeführt:
- Der 'Strikte Modus' verhindert, dass Entwickler globale Variablen erstellen.
- Entwickler dürfen keine doppelten Parameter verwenden.
- Im strengen Modus können Sie das JavaScript-Schlüsselwort nicht als Variablennamen oder Funktionsnamen verwenden.
- Der strikte Modus wird am Anfang des Skripts mit dem Schlüsselwort 'use strict' deklariert.
- Alle Browser unterstützen den strengen Modus.
F # 14) Was sind selbstaufrufende Funktionen?
Antworten: Sie werden auch als 'Sofort aufgerufene Funktionsausdrücke' oder 'Selbstausführende anonyme Funktionen' bezeichnet. Diese Funktionen werden im Code automatisch aufgerufen und daher als 'Selbstaufrufende Funktionen' bezeichnet.
Normalerweise definieren wir eine Funktion und rufen sie auf. Wenn wir jedoch eine Funktion automatisch ausführen möchten, wo sie erklärt wird, und wenn wir sie nicht erneut aufrufen möchten, können wir anonyme Funktionen verwenden. Und diese Arten von Funktionen haben keinen Namen.
F # 15) Wie lautet die Syntax der selbstaufrufenden Funktion? Gib ein Beispiel?
Antworten:
Die Syntax für die selbstaufrufende Funktion:
(function () { return () } () ;
In der letzten Klammer '()' in der Syntax wird angegeben, dass es sich um einen Funktionsausdruck handelt.
Beispiel für selbstaufgerufene Funktionen:
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'; }());
Hier wird die anonyme Funktion im Code-Snippet automatisch aufgerufen.
Die Funktion wird verwendet, um die Texteigenschaft von festzulegen
Tag mit 'display_num' als ID.
Ausgabe des Code-Snippets:
Diese Funktion hat keinen Namen.
Es wird automatisch aufgerufen
F # 16) Können Sie im folgenden Codeausschnitt bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten? Bitte erläutern Sie den Fehler.
Antworten:
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
Bitte beziehen Sie sich auf das vorherige Q # 11, wie dort erläutert. Der Interpreter nimmt alle deklarierten Variablen mit Ausnahme der Initialisierung nach oben.
Aus diesem Grund wird die Variable 'first_num' nach oben und die Variable 'second_num' mit einem Wert initialisiert, sodass sie nicht nach oben verschoben wird. Dieser Code gibt keinen Fehler aus. Der Wert von 'second_num' ist jedoch undefiniert.
Ausgabe des Code-Snippets:
Hier wird die Variable first_num: 100 nach oben gebracht
Da die zweite Variable initialisiert wird, wird der Wert nicht nach oben verschoben und sein Wert ist undefiniert
F # 17) Wenn Sie den JavaScript-Code vor den älteren Browserversionen verbergen müssen, wie werden Sie ihn ausführen?
Antworten: Fügen Sie im Code nach dem Tag '
Dadurch kann der Browser den JavaScript-Code nicht ausführen, wenn es sich um eine ältere Version handelt. Fügen Sie nach dem End-Tag das HTML-Tag '// ->' hinzu.
Diese Methode hilft bei der Lösung von Kompatibilitäts- und Benutzeroberflächenproblemen in gewissem Umfang.
Sample: Software Testing Help
Hier wird das Code-Snippet nach dem Ausführen eines Tags in meinem Browser ausgeführt, da ich keine ältere Version des Browsers verwende.
Ausgabe des Code-Snippets:
Hier verwende ich keine ältere Version des Browsers.
Der Code funktioniert also in meinem Browser
F # 18) Können Sie im folgenden Codeausschnitt die Ausgabe vorhersagen oder den Fehler erklären, wenn Sie einen Fehler erhalten?
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();
Antworten: Hier im oben angegebenen Code ist der Wert der Variablen 'first_num' nicht 1000.
In JavaScript gibt es kein Heben für die Variableninitialisierung. Die Funktion 'result ()' wählt die lokale Variable 'first_num', wie sie in der Funktion deklariert ist. Da die Variable nach ihrer Verwendung deklariert wird, ist der Wert von 'first_num' undefiniert.
Ausgabe des Code-Snippets:
Nicht definiert
F # 19) Was ist der Unterschied zwischen dem Schlüsselwort 'var' und 'let'?
Antwort: Die Unterschiede sind wie folgt:
Wo | Lassen |
---|---|
Das Schlüsselwort 'var' wurde von Anfang an in JavaScript-Code eingeführt. | Das Schlüsselwort 'let' wird erst 2015 eingeführt. |
Das Schlüsselwort 'Var' hat einen Funktionsumfang. Die mit var definierte Variable ist an einer beliebigen Stelle innerhalb der Funktion verfügbar | Eine mit dem Schlüsselwort 'let' deklarierte Variable hat nur in diesem Block einen Gültigkeitsbereich. Lassen Sie uns also einen Blockbereich haben. |
Die mit 'var' deklarierte Variable wird gehisst | Die mit 'let' deklarierte Variable wird gehisst |
F # 20) Im folgenden Code-Snippet können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
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;
Antworten:
Ausgabe des Code-Snippets:
Zuerst Nummer : 1000
Wir werden bekommen 'Zuerst Nummer : 1000 ' als Ausgabe. Es liegt auch ein Fehler 'Nicht erfasster Referenzfehler' vor.
Im Code-Snippet befindet sich der Gültigkeitsbereich von 'second_num' nur innerhalb des if () -Blocks. Wenn ein Entwickler versucht, auf den Wert außerhalb des Blocks zuzugreifen, wird ein Fehler 'Nicht erfasste Referenz' angezeigt.
Nicht erfasster Referenzfehler: second_num ist nicht definiert.
F # 21) Was ist der Unterschied zwischen '==' und '==='?
Antworten: Sowohl '==' als auch '===' sind Vergleichsoperatoren.
Operator '==' | Operator '===' |
---|---|
Es ist als 'Typkonvertierungsoperator' bekannt. | Es ist als 'Strict Equality Operator' bekannt. |
Es vergleicht Wert, nicht Typ vergleichen | Es vergleicht sowohl Wert als auch Typ. |
F # 22) Was ist der Unterschied zwischen 'let' und 'const'?
Antwort: Die Unterschiede sind wie folgt:
Lassen | const |
---|---|
Mit 'let' können wir den Wert der Variablen beliebig oft ändern | Mit 'const' können wir den Wert nach der ersten Zuweisung des Werts nicht erneut definieren |
Betrachten Sie den Code { let first_num = 1; first_num = 2; Dokument. schreiben (first_num); }} Hier gibt der Code eine Ausgabe aus, da die Wertänderung von first_num möglich ist. | Betrachten Sie den Code { const second_num = 1; second_num = 2; Dokument. schreiben (second_num); }} Hier erzeugt der Code einen Fehler, da der 'second_num' ein zweiter Wert zugewiesen wird. |
F # 23) Im folgenden Code-Snippet können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
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;
Antworten: Bitte lesen Sie Q # 21, bevor Sie weiterlesen
Ausgabe des Code-Snippets:
Erste Nummer: 501
Beim Ausführen des Codes wird auch eine Fehlermeldung angezeigt, da wir versuchen, den Wert einer 'const' -Variablen zu ändern.
Error: Nicht erfasster TypeError: Zuordnung zur konstanten Variablen.
F # 24) Was ist der Unterschied zwischen 'null' und 'undefiniert'?
Antworten: Beide Schlüsselwörter stehen für leere Werte .
Die Unterschiede sind:
- In 'undefiniert' definieren wir eine Variable, weisen dieser Variablen jedoch keinen Wert zu. Andererseits definieren wir in 'null' eine Variable und weisen der Variablen den Wert 'null' zu.
- Typ des (undefinierten) und Typ des (null) Objekts.
F # 25) Was ist der Unterschied zwischen 'Funktionsdeklaration' und 'Funktionsausdruck'?
Antworten: Es kann mit einem Beispiel erklärt werden:
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);
Wie im Beispiel gezeigt, ist add () eine Funktionsdeklaration und subtract () ein Funktionsausdruck. Die Syntax der Funktionsdeklaration ähnelt einer Funktion, die in einer Variablen gespeichert wird.
Funktionsdeklarationen werden gehisst, aber Funktionsausdrücke werden nicht gehisst.
F # 26) Was ist 'settimeout ()'?
Antworten: Es wird besser anhand eines Beispiels erklärt.
Betrachten Sie das Code-Snippet
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Ausgabe des Code-Snippets:
Erste Linie
Zweite Reihe
Dritte Zeile
Jetzt führen Sie die Methode settimeout () ein und wickeln denselben Codesatz darin ein.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Ausgabe des Code-Snippets:
Zweite Reihe
Dritte Zeile
Erste Linie
Mit der Einführung von settimeout () werden die Prozesse asynchron. Die ersten Anweisungen, die in den Stapel eingefügt werden sollen, sind Console.log ('Zweite Zeile') und Console.log ('Dritte Zeile'). Sie werden zuerst ausgeführt. Sie müssen warten, bis alles im Stapel fertig ist.
Obwohl '0' die Zeitüberschreitung ist, bedeutet dies nicht, dass sie sofort ausgeführt wird.
F # 27) Was ist ein Verschluss und wie verwenden Sie ihn?
Antworten: Ein Verschluss ist eine innere Funktion. Es kann auf die äußeren Variablen einer Funktion zugreifen. In Closure gibt es innerhalb von Funktion_1 eine andere Funktion_2, die einen A-Wert zurückgibt, und Funktion_1 gibt ebenfalls einen Wert zurück. sagen Sie 'B'.
Hier ist sum () die äußere Funktion und add () ist eine innere Funktion. Es kann auf alle Variablen zugreifen, einschließlich 'first_num', 'second_num' und 'Third_num'. Die äußere Funktion ruft die innere Funktion add () auf.
// 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));
Ausgabe des Code-Snippets:
Ergebnis ist: 500
F # 28) Im folgenden Code-Snippet können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
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; }
Antworten: Die Zuweisungsanweisungen werden von rechts nach links betrachtet.
Ausgabe des Code-Snippets:
x = 200
und: 200
mit: 200
p: 200
q: 200
F # 29) Können Sie ein Beispiel geben, in dem das Code-Snippet den Unterschied zwischen test () - und exec () -Methoden zeigt?
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; }
Antworten: Dies ist ein Beispiel für die Methode test () und exec (). Weitere Informationen finden Sie unter Frage Nr. 5.
Ausgabe des Code-Snippets:
Das Muster mit exec () gefunden: How
Mit test () lautet das Ergebnis: true
F # 30) Können Sie ein Beispiel geben, das das Heben von JavaScript zeigt?
Antworten:
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
Weitere Informationen finden Sie in Q # 11.
Hier wird die Variable 'num' verwendet, bevor sie deklariert wird. Aber JavaScript Hoisting wird es erlauben.
Ausgabe des Code-Snippets:
Hier werden die Variablen verwendet, bevor sie deklariert werden.
Der Wert der Variablen ist 100
F # 31) Können Sie ein Beispiel geben, das die Verwendung des Schlüsselworts 'Debugger' im JavaScript-Code zeigt?
Antworten:
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;
Hinweis: Der Debugger muss aktiviert sein, damit der Browser den Code testen kann. Weitere Informationen finden Sie unter Frage Nr. 5
Dies ist ein Beispiel für das Debuggen von Schlüsselwörtern (verwendeter Browser: Chrome)
Ausgabe des Code-Snippets:
Um den Code zu testen, muss der Debugger für den Browser aktiviert sein.
Während des Debuggens sollte der folgende Code nicht mehr ausgeführt werden, bevor er zur nächsten Zeile übergeht.
Zahlen hinzufügen…
Wählen Sie 'Skriptausführung fortsetzen', um fortzufahren:
Summe der Zahlen: 1500
F # 32) Im folgenden Codefragment können Sie bitte die Ausgabe vorhersagen oder wenn Sie einen Fehler erhalten; Bitte erläutern Sie den Fehler.
Sample: Software Testing Help
Example Type Converting
beste kostenlose Software zum Reinigen des PCs
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 '; }
Antworten: Betrachten Sie den Code
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
Ausgabe des Code-Snippets:
Der Vergleich gibt nach Typkonvertierungsoperator 'true' zurück
F # 33) Sind Java und JavaScript ähnlich? Wenn nicht, was ist dann der Unterschied zwischen Java und JavaScript?
Antworten:
Sl. Nein | Java | JavaScript |
---|---|---|
1 | Java ist eine universelle Programmiersprache. | JavaScript ist eine interpretierte Skriptsprache auf hoher Ebene. |
zwei | Java basiert auf OOPS-Konzepten (Object-Oriented Programming). | JavaScript ist sowohl ein objektorientiertes als auch ein funktionales Scripting. |
3 | Läuft in einer Java Virtual Machine (JVM) oder einem Browser. | Läuft nur in einem Browser. |
4 | Java-Code muss als Java-Klassendatei kompiliert werden. | JavaScript hat keinen Kompilierungsschritt. Stattdessen liest ein Interpreter im Browser den JavaScript-Code, interpretiert jede Zeile und führt sie aus. |
Kurz gesagt, diese Sprachen sind überhaupt nicht miteinander verbunden oder voneinander abhängig.
F # 34) Welche Datentypen werden von JavaScript unterstützt?
Antworten: JavaScript unterstützt Folgendes Sieben primitive Datentypen und Objekt ::
(i) Boolescher Wert: Dies ist ein logischer Datentyp, der nur zwei Werte haben kann, d. H. Wahr oder falsch. Wenn wir den Datentyp 'true' oder 'false' mit dem Operator typeof überprüfen, wird ein boolescher Wert zurückgegeben.
Zum Beispiel, typeof (true) // gibt einen Booleschen Wert zurück
Boolesche Werte können zum Vergleichen von zwei Variablen verwendet werden.
Zum Beispiel,
var x = 2; var y = 3; x==y //returns false
Der boolesche Wert kann auch zum Überprüfen einer Bedingung verwendet werden
Zum Beispiel,
var x = 2; var y = 3; If(xWenn die obige Bedingung „x Eine boolesche Variable kann mit der Funktion Boolean () erstellt werden.
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Das Boolesche Objekt kann auch mit dem neuen Operator wie folgt erstellt werden:
var myobj = new Boolean(true);
(Ii) Null ::Dies ist ein Datentyp, der nur durch einen Wert dargestellt wird, die Null selbst. Ein Nullwert bedeutet keinen Wert.
Zum Beispiel,
var x = null; console.log(x);// This returns null
Wenn wir den Datentyp eines mit dem Operator typeof überprüfen, erhalten wir:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Undefiniert: Dieser Datentyp bedeutet eine Variable, die nicht definiert ist. Die Variable ist deklariert, enthält jedoch keinen Wert.
Zum Beispiel,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Die Variable 'a' wurde deklariert, aber noch nicht mit einem Wert versehen.
Wir können a einen Wert zuweisen:
(iv) Nummer: Dieser Datentyp kann ein Gleitkommawert, eine Ganzzahl, ein Exponentialwert, ein NaN oder eine Unendlichkeit sein.
Zum Beispiel,
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
Das Zahlenliteral kann mit der Funktion Number () erstellt werden:
var x = Number(10); console.log(x);// This returns 10
Das Zahlenobjekt kann auch mit dem Operator 'Neu' wie folgt erstellt werden:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Dies ist ein numerisches Grundelement, das Ganzzahlen mit beliebiger Genauigkeit darstellen kann. BigInt wird erstellt, indem n an das Ende einer Ganzzahl angehängt wird
Zum Beispiel,
const x = 15n;
Die Nummer kann mit der Funktion BigInt (Nummer) in ein BigInt konvertiert werden.
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Zeichenfolge: Dieser Datentyp wird zur Darstellung von Textdaten verwendet.
Zum Beispiel,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Neue Zeichenfolgen können auch mit der Funktion String () wie folgt erstellt werden:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Die Funktion String () wird auch verwendet, um einen Nicht-String-Wert in einen String zu konvertieren.
String(150); // This statement will create a string ‘150’
String kann auch mit erstellt werden 'Neu' Operator
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-Zeichenfolgen sind unveränderlich, d. H. Sobald eine Zeichenfolge erstellt wurde, kann sie nicht mehr geändert werden. Eine andere Zeichenfolge kann jedoch mithilfe einer Operation für die ursprüngliche Zeichenfolge erstellt werden.
Zum Beispiel,
- Durch Verketten von zwei Zeichenfolgen mit dem Verkettungsoperator (+) oder String.concat () .
- Durch Erhalten von Teilzeichenfolgen mit String.substr () .
(vii) Symbol: Dies ist ein eindeutiger und unveränderlicher Grundwert, der als Schlüssel einer Object-Eigenschaft verwendet wird. Symbole sind in JavaScript in ECMAScript 2015 neu
ZU Symbol value steht für eine eindeutige Kennung.
Zum Beispiel,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Daher werden viele Symbole mit derselben Beschreibung, jedoch mit unterschiedlichen Werten erstellt.
Symbole können nicht automatisch konvertiert werden.
Zum Beispiel,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Dies kann mit gearbeitet werden toString () folgendermaßen:
alert(symVar1.toString()); // Symbol(symVar1), this works
Objektdatentyp
Ein Objekt ist ein Wert im Speicher, auf den ein Bezeichner verweist.
Objekt bezieht sich auf eine Datenstruktur mit Daten und Anweisungen zum Arbeiten mit den Daten. Objekte beziehen sich manchmal auf reale Dinge, Zum Beispiel, ein Angestellter oder ein Auto.
Zum Beispiel,
In JavaScript-Objekten werden Werte wie folgt geschrieben Name: Wert Paare wie folgt:
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' };
Das Name: Werte Paare werden aufgerufen Eigenschaften . Zum Beispiel, 'Typ' ist Eigentum und 'BMW' ist der Wert des Eigentums.
Auf Eigenschaftswerte wird mit objectName.propertyName zugegriffen
oder Objektname ('Eigenschaftsname')
Zum Beispiel, car1.type oder car1 ('Typ') gibt 'BMW' zurück.
Der Wert des Objekts car1 kann wie folgt geändert werden:
car1.type = “Audi”;
Jetzt,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
F # 35) Ist JavaScript eine Sprache, bei der zwischen Groß- und Kleinschreibung unterschieden wird?
Antworten: Ja, JavaScript unterscheidet zwischen Groß- und Kleinschreibung. Dies bedeutet Schlüsselwörter der Sprache, Variablen, Funktionsnamen und andere Bezeichner, die immer mit konsistenten Groß- oder Kleinbuchstaben eingegeben werden müssen.
Zum Beispiel, myVar ist eine andere Variable als myvar.
F # 36) Wie kann man bestimmen, zu welchem Datentyp ein Operand gehört?
Antworten: Der Operandendatentyp kann mit dem Operatortyp ermittelt werden
Es wird eine Zeichenfolge zurückgegeben, die den Typ des Operanden angibt.
Syntax : Typ des Operanden
typeof (Operand)
Der Operand kann eine beliebige Variable, ein Objekt oder eine Funktion sein.
Zum Beispiel,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
F # 37) Warum wird JavaScript als lose typisierte oder dynamische Sprache bezeichnet?
Antworten: JavaScript wird als lose typisierte oder dynamische Sprache bezeichnet, da JavaScript-Variablen keinem Werttyp direkt zugeordnet sind und jeder Variablen Werte aller Art zugewiesen und neu zugewiesen werden können:
Zum Beispiel,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
F # 38) Was ist in JavaScript null?
Antworten: Der Wert null steht für das absichtliche Fehlen eines Objektwerts.
Dies ist einer der primitiven Werte von JavaScript.
Zum Beispiel,
Var myvar = null; console.log(myvar); //This will print null
F # 39) Was ist NaN?
Antwort: NaN ist eine Eigenschaft eines globalen Objekts, das Not-A-Number darstellt.
Zum Beispiel,
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
F # 40) Wie teile ich eine Zeichenfolge in Array-Elemente auf?
Antworten: Eine Zeichenfolge kann mithilfe der JavaScript-Methode split () in ein Array aufgeteilt werden. Diese Methode verwendet einen einzelnen Parameter, das Zeichen, bei dem Sie die Zeichenfolge trennen möchten, und gibt die Teilzeichenfolgen zwischen dem Trennzeichen als Elemente in einem Array zurück.
Zum Beispiel,
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
F # 41) Wie füge ich Array-Elemente zu einer Zeichenfolge zusammen?
Antworten: Array-Elemente können mit der join () -Methode verbunden werden.
Zum Beispiel,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Array-Elemente werden wie folgt zu einer Zeichenfolge zusammengefügt:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
F # 42) Welche Art von Fehlern hat JavaScript?
Antworten: Es folgen die 2 Arten von Fehlern:
- Syntaxfehler: Dies sind Tippfehler oder Rechtschreibfehler im Code, die dazu führen, dass das Programm überhaupt nicht ausgeführt wird oder nicht mehr funktioniert. In der Regel werden auch Fehlermeldungen angezeigt.
- Logikfehler: Dies sind Fehler, wenn die Syntax korrekt ist, die Logik oder der Code jedoch ungenau sind. Hier läuft das Programm ohne Fehler erfolgreich. Die Ausgabeergebnisse sind jedoch falsch. Diese sind oft schwieriger zu beheben als Syntaxfehler, da diese Programme keine Fehlermeldungen für Logikfehler ausgeben.
F # 43) Wie man eine große Anzahl von Auswahlmöglichkeiten für eine Bedingung in einem effektiven Zustand handhabt Weg?
Antworten: Dies geschieht mit switch-Anweisungen:
Zum Beispiel,
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 }
F # 44) Was ist ein ternärer Operator?
Antworten: Die ternäre oder bedingte Bedingung ist ein Operator, mit dem eine schnelle Auswahl zwischen zwei Optionen basierend auf einem wahren oder falschen Test getroffen wird.
Dies kann als Ersatz für einen anderen Block verwendet werden, wenn zwei Auswahlmöglichkeiten zwischen einer wahr / falsch-Bedingung bestehen.
Zum Beispiel,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Der gleiche Code kann mit einem ternären Operator in einer einzigen Anweisung wie folgt geschrieben werden:
Ergebnis = (Bedingung)? 'Ergebnis 1': 'Ergebnis 2';
F # 45) Angenommen, es gibt ein Objekt, das als Person bezeichnet wird
const person = {
Name : {
zuerst: 'Bob',
zuletzt: 'Smith'
}}
};
Welche der folgenden Methoden ist der richtige Zugriff auf die Objekteigenschaft 'first'?
- person.name.first,oder
- Person ('Name') ('Erste')?
Antworten: Beides sind richtige Wege. d.h. Verwenden von Punkten wie person.name.first oder Verwenden der Klammernotation wie person ('name') ('first')
F # 46) Was ist 'das'?
Antworten: Das Schlüsselwort 'this' bezieht sich auf das aktuelle Objekt, in das der Code geschrieben wird.
Dies soll sicherstellen, dass die richtigen Werte verwendet werden, wenn sich der Kontext eines Mitglieds ändert
Zum Beispiel, Es gibt zwei verschiedene Fälle von a Person mit unterschiedlichen Namen und es ist erforderlich, ihren eigenen Namen in der Warnung wie folgt auszudrucken:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Hier ist die Ausgabe Guten Morgen! Ich bin Tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Hier ist die Ausgabe Guten Morgen! Ich bin Jerry
F # 47) Was sind anonyme Funktionen?
Antworten: Anonyme Funktionen sind Funktionen ohne Namen und tun nichts für sich. Diese werden in der Regel zusammen mit einem Event-Handler verwendet.
Zum Beispiel, im folgenden Code anonymer Funktionscode, d. h. Warnung ('Hallo'); würde beim Klicken auf die zugehörige Schaltfläche ausgeführt werden:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Eine anonyme Funktion kann auch dem Wert einer Variablen zugewiesen werden.
Zum Beispiel,
var myVar = function() { alert('Hi'); }
Diese Funktion kann aufgerufen werden mit:
myVar();
Fazit
Es ist besser, die JavaScript-Codes, CSS und HTML als separate externe 'js' -Dateien zu speichern. Das Trennen des Codierungsteils und des HTML-Teils erleichtert das Lesen und Arbeiten. Mehrere Entwickler finden es auch einfacher, mit dieser Methode gleichzeitig zu arbeiten.
JavaScript-Code ist einfach zu pflegen. Der gleiche Satz von JavaScript-Codes kann auf mehreren Seiten verwendet werden. Wenn wir externe JavaScript-Codes verwenden und den Code ändern müssen, müssen wir ihn an einer Stelle ändern. Damit wir den Code wiederverwenden und viel einfacher pflegen können.
Empfohlene Lektüre = >> TypeScript vs JavaScript
JavaScript-Code hat eine bessere Leistung. Externe JavaScript-Dateien erhöhen die Geschwindigkeit beim Laden von Seiten, da sie vom Browser zwischengespeichert werden.
Ich hoffe, Sie haben die Fragen und Antworten zum JavaScript-Interview hilfreich gefunden. Übe so viele Fragen wie möglich und sei zuversichtlich.
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Top 32 der besten Fragen und Antworten zum Datastage-Interview
- Fragen und Antworten zum ETL-Testinterview
- Top 20+ .NET Interview Fragen und Antworten
- Einige knifflige manuelle Testfragen und -antworten
- 25 Fragen und Antworten zu den besten Agile Testing-Interviews
- Spock Interview Fragen mit Antworten (am beliebtesten)
- Einige interessante Fragen zu Softwaretests