top 45 javascript interview questions with detailed answers
Domande di intervista JavaScript di base e avanzate più frequenti con risposte dettagliate per ogni sviluppatore JavaScript.
Se ti stai preparando per un colloquio, ecco le domande e le risposte dell'intervista JS più frequenti come riferimento.
Abbiamo progettato lo stesso per farti conoscere le domande che potresti incontrare durante il tuo colloquio tecnico.
Esploriamo !!
Informazioni su JavaScript
JavaScript è un linguaggio di programmazione di alto livello, probabilmente uno dei linguaggi di programmazione più utilizzati al mondo in questo momento. Può essere utilizzato per programmare browser web o anche server.
Per comprendere l'importanza di JavaScript, disabilita JavaScript sul tuo browser e prova a caricare la pagina Web al suo interno. Quelle pagine Web non funzioneranno correttamente. Molti contenuti in essi potrebbero comportarsi male. Quasi tutti i browser moderni utilizzano la combinazione di JavaScript, CSS e HTML.
JavaScript è un linguaggio di programmazione interpretato. Un interprete è incorporato in browser come Google Chrome, Microsoft Internet Explorer, ecc. Quindi, il suo codice può essere gestito dal motore JavaScript del browser.
JavaScript è apparso nel dicembre 1995 ed era inizialmente chiamato LiveScript, sebbene il nome sia stato presto cambiato per motivi di marketing. Non deve essere confuso con 'Java', che ha anch'esso una certa somiglianza ma è un linguaggio completamente diverso.
Domande di intervista JavaScript più frequenti
Q # 1) Cos'è JavaScript?
Risposta: JavaScript è un linguaggio di scripting sviluppato da Netscape. Può essere utilizzato per programmare browser web o anche server. Può aggiornare dinamicamente i contenuti della pagina web, che è la bellezza di questo linguaggio.
D # 2) Quali sono i vantaggi dell'utilizzo di JavaScript esterno?
Risposta: L'utilizzo di JavaScript esterno nel nostro codice presenta molti vantaggi.
Questi sono indicati di seguito.
- Viene eseguita la separazione del codice.
- La manutenibilità del codice è facile.
- La performance è migliore.
D # 3) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore, spiegaci l'errore?
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;
Answ e r : Questo codice non produrrà alcun errore. La ridichiarazione delle variabili è consentita in JavaScript. Quindi, il valore della variabile non andrà perso dopo l'esecuzione dell'istruzione qui.
Q # 4) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
come aggiungere a un array
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 ;
Risposta: Questo codice non mostrerà alcun errore!
Output dello snippet di codice:
La prima somma variabile è: 70 Sajeesh Sreeni
La seconda somma variabile è: Sajeesh Sreeni 5020
D # 5) Qual è la differenza tra i metodi test () ed exec ()?
Risposta: Sia test () che exec () sono metodi di espressione RegExp.
Utilizzando un file test () , cercheremo una stringa per un dato pattern, se trova il testo corrispondente restituisce il valore booleano 'true' oppure restituisce 'false'.
Ma in exec () , cercheremo una stringa per un dato modello, se trova il testo corrispondente, restituisce il modello stesso oppure restituisce il valore 'nullo'.
Q # 6) Quali sono i vantaggi di JavaScript?
Risposta: Questo linguaggio di scripting ha molti vantaggi come indicato di seguito.
- Leggero: È facile da implementare. Ha piccole impronte di memoria.
- Interpretato: È un linguaggio interpretato. Le istruzioni vengono eseguite direttamente.
- Orientato agli oggetti: È un linguaggio orientato agli oggetti.
- Funzioni di prima classe: In JavaScript, una funzione può essere utilizzata come valore.
- Linguaggio di scripting: È un linguaggio in cui vengono scritte le istruzioni per un ambiente di runtime.
D # 7) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Risposta: La variabile 'const' 'first_num' non è inizializzata con un valore, quindi il codice produrrà un errore di sintassi.
Output dello snippet di codice:
Errore: errore di sintassi non rilevato: inizializzatore mancante nella dichiarazione const
D # 8) Hai usato qualche browser per il debug? Se sì, come si fa?
Risposta: Premendo il tasto 'F12' sulla tastiera possiamo abilitare il debug nel browser. Scegli la scheda 'Console' per visualizzare i risultati.
In Console, possiamo impostare punti di interruzione e visualizzare il valore nelle variabili. Tutti i browser moderni hanno un debugger integrato con loro (Per esempio: Chrome, Firefox, Opera e Safari ) . Questa funzione può essere attivata e disattivata.
D # 9) Qual è l'uso della parola chiave 'debugger' nel codice JavaScript?
Risposta: Usare la parola chiave 'debugger' nel codice è come usare i punti di interruzione nel debugger.
Per testare il codice, il debugger deve essere abilitato per il browser. Se il debug è disabilitato per il browser, il codice non funzionerà. Durante il debug del codice, la parte rimanente dovrebbe interrompere l'esecuzione, prima di passare alla riga successiva.
D # 10) Quali sono i diversi tipi di valori dei nomi di errore?
Risposta: Esistono 6 tipi di valori nella proprietà 'Nome errore'.
Errore | Descrizione |
---|---|
Errore di intervallo | Otterremo questo errore se utilizziamo un numero al di fuori dell'intervallo |
Errore di sintassi | Questo errore si verifica quando usiamo la sintassi errata. (Si prega di fare riferimento alla domanda n. 7) |
Errore di riferimento | Questo errore viene generato se viene utilizzata una variabile non dichiarata. Fare riferimento alla domanda n. 19 |
Errore di valutazione | Generato a causa dell'errore in eval (). La nuova versione di JavaScript non presenta questo errore |
Tipo di errore | Il valore è al di fuori dell'intervallo di tipi utilizzati. Si prega di fare riferimento alla domanda n. 22 |
Errore URI | A causa dell'utilizzo di caratteri illegali. |
D # 11) Cos'è il sollevamento JavaScript?
Risposta: Durante l'utilizzo del metodo 'JavaScript Hoisting', quando un interprete esegue il codice, tutte le variabili vengono sollevate all'inizio dell'ambito originale / corrente. Se hai una variabile dichiarata ovunque all'interno del codice, viene portata in cima.
Questo metodo è applicabile solo alla dichiarazione di una variabile e non è applicabile per l'inizializzazione di una variabile. Anche le funzioni vengono sollevate in alto, mentre le spiegazioni delle funzioni non vengono sollevate in alto.
Fondamentalmente, dove abbiamo dichiarato la variabile all'interno del codice non ha molta importanza.
D # 12) Che cos'è la 'modalità rigorosa' di JavaScript?
Risposta: La 'modalità rigorosa' è una variante limitata di JavaScript. Di solito, questo linguaggio 'non è molto severo' nel lanciare errori. Ma in 'Modalità rigorosa' genererà tutti i tipi di errori, anche quelli silenziosi. Pertanto, il processo di debug diventa più semplice. E le possibilità di commettere un errore per lo sviluppatore sono ridotte.
D # 13) Quali sono le caratteristiche della 'Modalità rigorosa' di JavaScript?
Risposta: di seguito sono riportate le caratteristiche della 'Modalità rigorosa':
- La 'modalità rigorosa' impedirà agli sviluppatori di creare variabili globali.
- Gli sviluppatori non possono utilizzare parametri duplicati.
- La modalità rigorosa ti impedirà di utilizzare la parola chiave JavaScript come nome di variabile o nome di funzione.
- La modalità Strict viene dichiarata con la parola chiave 'use strict' all'inizio dello script.
- Tutti i browser supportano la modalità rigorosa.
D # 14) Cosa sono le funzioni di auto invocazione?
Risposta: Sono anche note come 'Espressioni di funzione invocate immediatamente' o 'Funzioni anonime con esecuzione automatica'. Queste funzioni vengono invocate automaticamente nel codice, quindi sono denominate 'Funzioni di invocazione automatica'.
Di solito definiamo una funzione e la invochiamo, ma se vogliamo eseguire una funzione automaticamente dove è spiegata, e se non la chiameremo di nuovo, possiamo usare funzioni anonime. E questi tipi di funzioni non hanno nome.
D # 15) Qual è la sintassi della 'funzione di invocazione automatica'? Dare un esempio?
Risposta:
La sintassi per la funzione di auto invocazione:
(function () { return () } () ;
Qui, l'ultima parentesi '()' nella sintassi indica che si tratta di un'espressione di funzione.
Esempio di funzioni auto invocate:
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'; }());
Qui, la funzione anonima viene richiamata automaticamente nello snippet di codice.
La funzione viene utilizzata per impostare la proprietà text del file
tag con 'display_num' come ID.
Output dello snippet di codice:
Questa funzione non ha nome.
Si chiama automaticamente
D # 16) Nel seguente frammento di codice, puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
Risposta:
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
Fare riferimento alla precedente domanda # 11, come spiegato qui, l'interprete porterà tutte le variabili dichiarate eccetto l'inizializzazione all'inizio.
Di conseguenza, la variabile 'first_num' viene portata in alto e la variabile 'second_num' viene inizializzata con un valore, quindi non viene portata in alto. Questo codice non genererà un errore. Ma il valore di 'second_num' non è definito.
Output dello snippet di codice:
Qui la variabile first_num: 100 viene portata all'inizio
Poiché la seconda variabile è inizializzata, il valore non viene portato in alto e il suo valore non è definito
Q # 17) Se devi nascondere il codice JavaScript dalle versioni precedenti del browser, come lo eseguirai?
Risposta: In Code, dopo il tag, aggiungi '
Ciò non consentirà al browser di eseguire il codice JavaScript se si tratta di una versione precedente di esso. Inoltre, dopo il tag di fine aggiungi il tag HTML '// ->'.
Questo metodo aiuterà a risolvere i problemi di compatibilità e di interfaccia utente in una certa misura.
Sample: Software Testing Help
Qui, lo snippet di codice dopo un tag viene eseguito nel mio browser poiché non sto utilizzando una versione precedente del browser.
Output dello snippet di codice:
Qui non sto utilizzando una versione precedente del browser.
Quindi il codice funzionerà nel mio browser
D # 18) Nel seguente frammento di codice puoi prevedere l'output o se ricevi un errore, spiegaci l'errore?
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();
Risposta: Qui nel codice riportato sopra, il valore della variabile 'first_num' non sarà 1000.
In JavaScript, non c'è sollevamento per l'inizializzazione delle variabili. La funzione 'result ()' sceglierà la variabile locale 'first_num', così come è dichiarata all'interno della funzione. Poiché la variabile viene dichiarata dopo essere stata utilizzata, il valore di 'first_num' non è definito.
Output dello snippet di codice:
Non definito
D # 19) Qual è la differenza tra la parola chiave 'var' e 'let'?
Risposta: le differenze sono le seguenti:
Dove | permettere |
---|---|
La parola chiave 'var' è stata introdotta nel codice JavaScript fin dall'inizio della fase stessa. | La parola chiave 'let' è stata introdotta solo nel 2015. |
La parola chiave 'Var' ha un ambito di funzione. La variabile definita con var è disponibile ovunque all'interno della funzione | Una variabile dichiarata con la parola chiave 'let' ha un ambito solo in quel blocco. Quindi, lascia che abbia un Block Scope. |
La variabile dichiarata con 'var' deve essere sollevata | La variabile dichiarata con 'let' viene issata |
D # 20) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
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;
Risposta:
Output dello snippet di codice:
Primo Numero: 1000
Otterremo 'Primo Numero: 1000 ' come output. C'è anche un errore 'Errore di riferimento non rilevato'.
Nello snippet di codice, l'ambito di 'second_num' è solo all'interno del blocco if (). Se uno sviluppatore tenta di accedere al valore al di fuori del blocco, riceverà un 'errore di riferimento non rilevato'.
Errore di riferimento non rilevato: second_num non è definito.
D # 21) Qual è la differenza tra '==' e '==='?
Risposta: Sia '==' che '===' sono operatori di confronto.
Operatore '==' | Operatore '===' |
---|---|
È noto come 'operatore di conversione del tipo' | È noto come 'Strict Equality Operator' |
Confronta il valore, non confrontare il tipo | Confronta sia il valore che il tipo. |
D # 22) Qual è la differenza tra 'let' e 'const'?
Risposta: le differenze sono le seguenti:
permettere | const |
---|---|
utilizzando 'let' possiamo modificare il valore della variabile un numero qualsiasi di volte | utilizzando 'const', dopo la prima assegnazione del valore non possiamo ridefinire nuovamente il valore |
Considera il codice { let first_num = 1; first_num = 2; documento. scrivi (first_num); } Qui il codice darà un output, poiché è possibile la modifica del valore di first_num. | Considera il codice { const secondo_num = 1; secondo_num = 2; documento. scrivi (secondo_num); } Qui il codice produrrà un errore, poiché a 'second_num' viene assegnato un secondo valore. |
D # 23) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
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;
Risposta: Si prega di fare riferimento a Q # 21 prima di leggere ulteriormente
Output dello snippet di codice:
Primo numero: 501
Otterremo anche un errore durante l'esecuzione del codice, poiché stiamo cercando di modificare il valore di una variabile 'const'.
Errore: Errore di tipo non rilevato: assegnazione a una variabile costante.
D # 24) Qual è la differenza tra 'null' e 'undefined'?
Risposta: Entrambe le parole chiave rappresentano valori vuoti .
Le differenze sono:
- In 'undefined', definiremo una variabile, ma non assegneremo un valore a quella variabile. D'altra parte, in 'null' definiremo una variabile e assegneremo il valore 'null' alla variabile.
- tipo di (undefined) e tipo di (null) oggetto.
D # 25) Qual è la differenza tra 'dichiarazione di funzione' ed 'espressione di funzione'?
Risposta: Può essere spiegato con un esempio:
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);
Come mostrato nell'esempio, add () è una dichiarazione di funzione e subtract () è un'espressione di funzione. La sintassi della dichiarazione di funzione è come una funzione salvata in una variabile.
Le dichiarazioni di funzione vengono sollevate ma le espressioni di funzione non vengono sollevate.
Q # 26) Cosa sono 'settimeout ()'?
Risposta: Sarà meglio spiegato con un esempio.
Considera lo snippet di codice
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Output dello snippet di codice:
Prima linea
Seconda linea
Terza riga
Ora introduci il metodo settimeout () e inserisci lo stesso insieme di codice in esso.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Output dello snippet di codice:
Seconda linea
Terza riga
Prima linea
Con l'introduzione di settimeout (), i processi diventano asincroni. Le prime istruzioni da inserire nello stack sono Console.log ('Seconda riga') e Console.log ('Terza riga') e verranno eseguite per prime. È necessario attendere prima che tutto nello stack sia completato.
Anche se '0' è il periodo di timeout, non significa che verrà eseguito immediatamente.
Q # 27) Cos'è una chiusura e come la usi?
Risposta: Una chiusura è una funzione interna. Può accedere alle variabili esterne di una funzione. In Closure, all'interno della funzione_1 c'è un'altra funzione_2 che restituisce un valore 'A' e anche la funzione_1 restituisce un valore; dire 'B'.
Qui, sum () è la funzione esterna e add () è una funzione interna, può accedere a tutte le variabili tra cui 'first_num' 'second_num' e 'third_num'. La funzione esterna chiama la funzione interna add ().
// 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));
Output dello snippet di codice:
Il risultato è: 500
D # 28) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
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; }
Risposta: Le dichiarazioni di assegnazione vengono considerate da destra a sinistra.
Output dello snippet di codice:
x = 200
e: 200
con: 200
p: 200
q: 200
D # 29) Puoi fornire un esempio in cui lo snippet di codice mostra la differenza tra i metodi test () ed 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; }
Risposta: Questo è un esempio del metodo test () ed exec (), fare riferimento alla domanda n. 5 per maggiori dettagli.
Output dello snippet di codice:
Trovato il modello usando exec (): How
Usando test () il risultato è: true
D # 30) Puoi fornire un esempio che mostri JavaScript Hoisting?
Risposta:
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
Fare riferimento a Q # 11 per maggiori dettagli.
Qui la variabile 'num' viene utilizzata prima di dichiararla. Ma JavaScript Hoisting lo permetterà.
Output dello snippet di codice:
Qui le variabili vengono utilizzate prima di dichiararlo.
Il valore della variabile è 100
D # 31) Può fornire un esempio che mostri l'uso della parola chiave 'debugger' nel codice JavaScript?
Risposta:
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;
Nota: Il debugger deve essere abilitato affinché il browser possa testare il codice. Fare riferimento alla domanda n. 5 per maggiori dettagli
Questo è un esempio di parola chiave di debug (Browser utilizzato: Chrome)
Output dello snippet di codice:
Qui per testare il codice, il debugger deve essere abilitato per il browser,
durante il debug il codice seguente dovrebbe interrompere l'esecuzione prima di passare alla riga successiva.
Aggiunta di numeri ...
Seleziona 'Riprendi esecuzione script' per continuare:
Somma dei numeri: 1500
D # 32) Nel seguente frammento di codice puoi prevedere l'output o se ottieni un errore; si prega di spiegare l'errore?
Sample: Software Testing Help
Example Type Converting
come iniziare un nuovo progetto in eclipse
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 '; }
Risposta: Considera il codice
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
Output dello snippet di codice:
Il confronto restituirà 'vero' per operatore di conversione del tipo
D # 33) Java e JavaScript sono simili? In caso contrario, qual è la differenza tra Java e JavaScript?
Risposta:
Sl No | Giava | JavaScript |
---|---|---|
1 | Java è un linguaggio di programmazione generico. | JavaScript è un linguaggio di scripting interpretato di alto livello. |
Due | Java si basa sui concetti di programmazione orientata agli oggetti (OOPS). | JavaScript è sia uno scripting orientato agli oggetti che funzionale. |
3 | Funziona in una Java Virtual Machine (JVM) o in un browser. | Funziona solo su un browser. |
4 | Il codice Java deve essere compilato come file di classe Java. | JavaScript non ha alcun passaggio di compilazione. Invece, un interprete nel browser legge il codice JavaScript, interpreta ogni riga e la esegue. |
Quindi, in breve, queste lingue non sono affatto collegate o dipendenti l'una dall'altra.
D # 34) Quali tipi di dati sono supportati da JavaScript?
Risposta: JavaScript supporta quanto segue Sette primitive tipi di dati e Oggetto :
(i) Booleano: Questo è un tipo di dati logico che può avere solo due valori, ovvero vero o falso. Quando controlliamo il tipo di dati 'true' o 'false' utilizzando l'operatore typeof, restituisce un valore booleano.
Per esempio, typeof (true) // restituisce booleano
I valori booleani possono essere utilizzati per confrontare due variabili.
Per esempio,
var x = 2; var y = 3; x==y //returns false
Il valore booleano può essere utilizzato anche per controllare una condizione
Per esempio,
var x = 2; var y = 3; If(xSe la condizione di cui sopra 'x È possibile creare una variabile booleana utilizzando la funzione Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Inoltre, l'oggetto booleano può essere creato utilizzando l'operatore new come segue:
var myobj = new Boolean(true);
(Ii) Null :Questo è un tipo di dati rappresentato da un solo valore, il 'null' stesso. Un valore nullo significa nessun valore.
Per esempio,
var x = null; console.log(x);// This returns null
Se controlliamo il tipo di dati di a utilizzando l'operatore typeof, otteniamo:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Non definito: Questo tipo di dati indica una variabile che non è definita. La variabile è dichiarata ma non contiene alcun valore.
Per esempio,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
La variabile 'a' è stata dichiarata ma non è stato ancora assegnato un valore.
Possiamo assegnare un valore a:
(iv) Numero: Questo tipo di dati può essere un valore a virgola mobile, un numero intero, un valore esponenziale, un 'NaN' o un 'Infinito'.
Per esempio,
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
Il valore letterale numero può essere creato utilizzando la funzione Number ():
var x = Number(10); console.log(x);// This returns 10
Inoltre, l'oggetto numero può essere creato utilizzando l'operatore 'nuovo' come segue:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Questa è una primitiva numerica che può rappresentare numeri interi con precisione arbitraria. BigInt viene creato aggiungendo n alla fine di un numero intero
Per esempio,
const x = 15n;
Il numero può essere convertito in un BigInt con la funzione BigInt (numero).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Stringa: Questo tipo di dati viene utilizzato per rappresentare i dati testuali.
Per esempio,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
È anche possibile creare una nuova stringa utilizzando la funzione String () come segue:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
La funzione String () viene utilizzata anche per convertire un valore non stringa in una stringa.
String(150); // This statement will create a string ‘150’
La stringa può anche essere creata utilizzando 'nuovo' operatore
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?’
Le stringhe JavaScript sono immutabili, ovvero una volta creata una stringa, non può essere modificata. Ma un'altra stringa può essere creata utilizzando un'operazione sulla stringa originale.
come aprire un file jar
Per esempio,
- Concatenando due stringhe utilizzando l'operatore di concatenazione (+) o String.concat () .
- Ottenendo la sottostringa utilizzando String.substr () .
(vii) Simbolo: Si tratta di un valore primitivo univoco e immutabile e utilizzato come chiave di una proprietà Object. I simboli sono nuovi in JavaScript in ECMAScript 2015
PER Simbolo valore rappresenta un identificatore univoco.
Per esempio,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Quindi, molti simboli vengono creati con la stessa descrizione, ma con valori diversi.
I simboli non possono essere convertiti automaticamente.
Per esempio,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Questo può essere lavorato usando accordare () come segue:
alert(symVar1.toString()); // Symbol(symVar1), this works
Tipo di dati oggetto
Un oggetto è un valore in memoria a cui fa riferimento un identificatore.
L'oggetto si riferisce a una struttura di dati contenente dati e istruzioni per lavorare con i dati. Gli oggetti a volte si riferiscono a cose del mondo reale, Per esempio, un dipendente o un'auto.
Per esempio,
Negli oggetti JavaScript, i valori vengono scritti come nome: valore coppie come di seguito:
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' };
Il nome: valori vengono chiamate le coppie proprietà . Per esempio, 'Tipo' è la proprietà e 'BMW' è il valore della proprietà.
Si accede ai valori delle proprietà utilizzando objectName.propertyName
o objectName ('propertyName')
Per esempio, car1.type o car1 ('type'), restituisce 'BMW'
Il valore dell'oggetto car1 può essere modificato come segue:
car1.type = “Audi”;
Adesso,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
D # 35) JavaScript è un linguaggio che fa distinzione tra maiuscole e minuscole?
Risposta: Sì, JavaScript è un linguaggio che distingue tra maiuscole e minuscole. Il significato di questo è parole chiave della lingua, variabili, nomi di funzione e qualsiasi altro identificatore che deve essere sempre digitato con lettere maiuscole o minuscole coerenti.
Per esempio, myVar è una variabile diversa da myvar.
Q # 36) Come determinare a quale tipo di dati appartiene un operando?
Risposta: Il tipo di dati dell'operando può essere trovato utilizzando l'operatore typeof
Restituisce una stringa che indica il tipo di operando.
Sintassi : tipo di operando
tipo di (operando)
L'operando può essere qualsiasi variabile, oggetto o funzione.
Per esempio,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
D # 37) Perché JavaScript viene chiamato come linguaggio digitato in modo approssimativo o dinamico?
Risposta: JavaScript viene chiamato come linguaggio vagamente tipizzato o dinamico perché le variabili JavaScript non sono direttamente associate a nessun tipo di valore e a qualsiasi variabile possono essere assegnati e riassegnati valori di tutti i tipi:
Per esempio,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
D # 38) Cosa è null in JavaScript?
Risposta: Il valore null rappresenta l'assenza intenzionale di qualsiasi valore oggetto.
Questo è uno dei valori primitivi di JavaScript.
Per esempio,
Var myvar = null; console.log(myvar); //This will print null
Q # 39) Cos'è NaN?
Risposta: NaN è una proprietà di un oggetto globale che rappresenta Not-A-Number.
Per esempio,
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) Come dividere una stringa in elementi dell'array?
Risposta: Una stringa può essere suddivisa in un array utilizzando il metodo JavaScript split (). Questo metodo accetta un singolo parametro, il carattere in cui si desidera separare la stringa e restituisce le sottostringhe tra il separatore come elementi in un array.
Per esempio,
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
Q # 41) Come unire gli elementi dell'array in una stringa?
Risposta: Gli elementi dell'array possono essere uniti utilizzando il metodo join ().
Per esempio,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Gli elementi della matrice vengono uniti in una stringa come segue:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Q # 42) Che tipo di errori ha JavaScript?
Risposta: Di seguito sono riportati i 2 tipi di errore:
- Errori di sintassi: Questi sono errori di battitura o errori di ortografia nel codice che causano il mancato funzionamento del programma o che smettono di funzionare a metà. Di solito vengono forniti anche messaggi di errore.
- Errori logici: Questi sono errori quando la sintassi è corretta, ma la logica o il codice è impreciso. Qui, il programma viene eseguito correttamente senza errori. Ma i risultati di output non sono corretti. Questi sono spesso più difficili da correggere rispetto agli errori di sintassi poiché questi programmi non forniscono alcun messaggio di errore per gli errori logici.
Q # 43) Come gestire un gran numero di scelte per una condizione in modo efficace modo?
Risposta: Questo viene fatto usando le istruzioni switch:
Per esempio,
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) Cos'è un operatore ternario?
Risposta: Il ternario o condizionale è un operatore che viene utilizzato per effettuare una scelta rapida tra due opzioni basate su un test vero o falso.
Può essere usato come sostituto del blocco if ... else quando si hanno due scelte che vengono scelte tra una condizione vero / falso.
Per esempio,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Lo stesso codice può essere scritto utilizzando un operatore ternario in una singola istruzione come segue:
risultato = (condizione)? 'risultato 1': 'risultato 2';
D # 45) Supponiamo che ci sia un oggetto chiamato persona
const person = {
nome : {
primo: 'Bob',
ultimo: 'Smith'
}
};
Quale dei seguenti è il modo corretto di accedere alla proprietà dell'oggetto 'prima'?
- persona.name.first,o
- persona ('nome') ('prima')?
Risposta: Entrambi sono modi corretti. ad es. utilizzando punti come person.name.first o utilizzando la notazione tra parentesi come person ('name') ('first')
Q # 46) Cos'è 'questo'?
Risposta: La parola chiave 'this' si riferisce all'oggetto corrente all'interno del quale viene scritto il codice.
Questo per garantire che vengano utilizzati i valori corretti quando il contesto di un membro cambia
Per esempio, ci sono due diversi casi di a persona aventi nomi diversi ed è necessario stampare il proprio nome nell'avviso come segue:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Qui, l'output è Buongiorno! Io sono 'Tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Qui, l'output è Buongiorno! Io sono 'Jerry'
D # 47) Cosa sono le funzioni anonime?
Risposta: Le funzioni anonime sono funzioni senza nome e non faranno nulla da sole. Questi sono generalmente usati insieme a un gestore di eventi.
Per esempio, nel codice seguente, codice funzione anonimo, ad esempio avviso ('Ciao'); verrebbe eseguito al clic del pulsante associato:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
La funzione anonima può anche essere assegnata al valore di una variabile.
Per esempio,
var myVar = function() { alert('Hi'); }
Questa funzione può essere richiamata utilizzando:
myVar();
Conclusione
È meglio memorizzare i codici JavaScript, CSS e HTML come file 'js' esterni separati. Separare la parte di codifica e la parte HTML renderà più facile leggere e lavorare con loro. Anche più sviluppatori trovano questo metodo più facile da utilizzare contemporaneamente.
Il codice JavaScript è facile da mantenere. Lo stesso set di codici JavaScript può essere utilizzato in più pagine. Se utilizziamo codici JavaScript esterni e se è necessario modificare il codice, è necessario modificarlo in un unico punto. In questo modo possiamo riutilizzare il codice e mantenerlo in un modo molto più semplice.
Lettura suggerita = >> TypeScript vs JavaScript
Il codice JavaScript ha prestazioni migliori. I file JavaScript esterni aumenteranno la velocità di caricamento della pagina poiché verranno memorizzati nella cache dal browser.
Spero che tu abbia trovato utili le domande e le risposte dell'intervista JavaScript. Fai più domande possibili e sii fiducioso.
Lettura consigliata
- Domande e risposte dell'intervista
- Le 32 migliori domande e risposte per l'intervista di Datastage
- ETL Testing Interview Domande e risposte
- Top 20+ .NET Intervista Domande e Risposte
- Alcune domande e risposte sui test manuali complicati
- 25 migliori domande e risposte per l'intervista al test agile
- Domande dell'intervista di Spock con risposte (le più popolari)
- Alcune interessanti domande di intervista sul test del software