top 45 javascript interview questions with detailed answers
Preguntes bàsiques i avançades d’entrevistes de JavaScript més freqüents amb respostes detallades per a tots els desenvolupadors de JavaScript.
Si us esteu preparant per a una entrevista, aquí teniu les preguntes i respostes més freqüents de JS Entrevista per a la vostra referència.
Hem dissenyat el mateix per fer-vos conèixer les preguntes que és possible que pugueu trobar durant la vostra entrevista tècnica.
Explorem !!
Quant a JavaScript
JavaScript és un llenguatge de programació d'alt nivell, probablement un dels llenguatges de programació més utilitzats al món en aquest moment. Es pot utilitzar per programar navegadors web o fins i tot servidors.
Per entendre la importància de JavaScript, desactiveu JavaScript al vostre navegador i proveu de carregar-hi la pàgina web. Aquestes pàgines web no funcionaran correctament. Molts continguts que hi contenen poden comportar-se malament. Gairebé tots els navegadors moderns utilitzen la combinació de JavaScript, CSS i HTML.
JavaScript és un llenguatge de programació interpretat. Un intèrpret està incrustat en navegadors com Google Chrome, Microsoft Internet Explorer, etc. Per tant, el seu codi el pot gestionar el motor JavaScript del navegador.
JavaScript va aparèixer el desembre de 1995 i es va dir inicialment LiveScript, tot i que aviat es va canviar el nom per motius de màrqueting. No s’ha de confondre amb ‘Java’, que també té alguna semblança, però és un llenguatge completament diferent.
Preguntes més freqüents sobre l'entrevista JavaScript
P # 1) Què és JavaScript?
Resposta: JavaScript és un llenguatge de script desenvolupat per Netscape. Es pot utilitzar per programar navegadors web o fins i tot servidors. Pot actualitzar dinàmicament els continguts de la pàgina web, que és la bellesa d’aquest idioma.
Q # 2) Quins avantatges té l'ús de JavaScript extern?
Resposta: L’ús de JavaScript extern al nostre codi té molts avantatges.
Es detallen a continuació.
- Es fa la separació del codi.
- El manteniment del codi és fàcil.
- El rendiment és millor.
P # 3) Al següent fragment de codi, podeu predir la sortida o, si apareix un error, expliqueu l'error?
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;
Resposta és r : Aquest codi no produirà cap error. Es permet redeclarar les variables a JavaScript. Per tant, el valor de la variable no es perdrà després de l'execució de la sentència aquí.
Q # 4) Al següent fragment de codi podeu predir la sortida o Si teniu un error; si us plau, expliqueu l'error?
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 ;
Resposta: Aquest codi no mostrarà cap error.
Sortida del fragment de codi:
La primera suma variable és: 70 Sajeesh Sreeni
La segona suma variable és: Sajeesh Sreeni 5020
Q # 5) Quina diferència hi ha entre els mètodes test () i exec ()?
Resposta: Tant test () com exec () són mètodes d'expressió RegExp.
Mitjançant l’ús d’un fitxer test () , cercarem un patró determinat en una cadena, si troba el text que coincideix, retorna el valor booleà 'veritable' o bé torna 'fals'.
Però dins exec () , cercarem una cadena per a un patró determinat, si troba el text que coincideix, torna el patró mateix o, en cas contrari, torna el valor 'nul'.
P # 6) Quins avantatges té JavaScript?
Resposta: Aquest llenguatge de seqüència d'ordres té molts avantatges, tal com s'indica a continuació.
- Lleuger: És fàcil d’implementar. Té petites petjades de memòria.
- Interpretat: És un llenguatge interpretat. Les instruccions s’executen directament.
- Orientat a objectes: És un llenguatge orientat a objectes.
- Funcions de primera classe: A JavaScript, es pot utilitzar una funció com a valor.
- Llenguatge de seqüència: És un idioma en què s’escriuen instruccions per a un entorn d’execució.
P # 7) Al següent fragment de codi, podeu predir la sortida o Si teniu un error; si us plau, expliqueu l'error?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Resposta: La variable 'const' 'first_num' no s'inicialitza amb un valor, de manera que el codi produirà un error de sintaxi.
Sortida del fragment de codi:
Error: Error de sintaxi no capturat: Falta l’inicialitzador a la declaració const
Q # 8) Heu utilitzat algun navegador per depurar? Si és així, com es fa?
Resposta: Prement la tecla ‘F12’ al teclat podem activar la depuració al navegador. Seleccioneu la pestanya 'Consola' per veure els resultats.
A Console, podem establir punts d’interrupció i veure el valor en variables. Tots els navegadors moderns tenen un depurador integrat (Per exemple: Chrome, Firefox, Opera i Safari ) . Aquesta funció es pot activar i desactivar.
P # 9) Quin ús fa de la paraula clau 'depurador' al codi JavaScript?
Resposta: Utilitzar la paraula clau 'depurador' al codi és com fer servir punts d'interrupció al depurador.
Per provar el codi, el depurador ha d’estar habilitat per al navegador. Si la depuració està desactivada per al navegador, el codi no funcionarà. Durant la depuració del codi, la part restant hauria de deixar d'executar-se abans d'anar a la següent línia.
P # 10) Quins són els diferents tipus de valors de noms d'error?
Resposta: Hi ha 6 tipus de valors a la propietat 'Nom de l'error'.
error | Descripció |
---|---|
Error d'interval | Obtenirem aquest error si fem servir un número fora de l’interval |
Error de sintaxi | Aquest error es produeix quan fem servir una sintaxi incorrecta. (Consulteu la pregunta núm. 7). |
Error de referència | Aquest error es genera si s'utilitza una variable no declarada. Consulteu la pregunta núm. 19 |
Error Eval | Llançat a causa de l'error a eval (). La nova versió de JavaScript no té aquest error |
Error de tipus | El valor està fora de l’interval de tipus utilitzats. Consulteu la pregunta núm. 22 |
URI Error | A causa de l’ús de personatges il·legals. |
Q # 11) Què és JavaScript Hoisting?
Resposta: Mentre s’utilitza el mètode ‘JavaScript Hoisting’, quan un intèrpret executa el codi, totes les variables s’eleven a la part superior de l’abast original / actual. Si teniu una variable declarada en qualsevol lloc del codi, es mostrarà a la part superior.
Aquest mètode només és aplicable a la declaració d'una variable i no és aplicable a la inicialització d'una variable. Les funcions també s'eleven cap a la part superior, mentre que les explicacions de funcions no s'eleven cap a la part superior.
Bàsicament, allà on hem declarat la variable dins del codi no importa gaire.
P # 12) Què és el 'mode estricte' de JavaScript?
Resposta: El 'mode estricte' és una variant restringida de JavaScript. Normalment, aquest llenguatge 'no és molt estricte' en els errors de llançament. Però al ‘mode estricte’ llançarà tot tipus d’errors, fins i tot els silenciosos. Per tant, el procés de depuració es fa més fàcil. I les possibilitats d’equivocar-se amb el desenvolupador es redueixen.
P # 13) Quines són les característiques del 'mode estricte' de JavaScript?
Resposta: A continuació es detallen les característiques del 'mode estricte':
- El 'mode estricte' deixarà els desenvolupadors de crear variables globals.
- Els desenvolupadors no poden utilitzar paràmetres duplicats.
- El mode estricte us restringirà l’ús de la paraula clau JavaScript com a nom de variable o nom de funció.
- El mode estricte es declara amb la paraula clau 'utilitza estricte' al començament de l'script.
- Tots els navegadors admeten el mode estricte.
P # 14) Què són les funcions d'invocació personal?
Resposta: També es coneixen com a 'Expressions de funció invocades immediatament' o 'Funcions anònimes que s'executen per si mateixes'. Aquestes funcions s'invocen automàticament al codi, per tant, s'anomenen 'Funcions d'invocació pròpia'.
Normalment, definim una funció i la invocem, però si volem executar una funció automàticament allà on s’explica i si no la tornarem a trucar, podem utilitzar funcions anònimes. I aquest tipus de funcions no tenen nom.
P # 15) Quina és la sintaxi de 'Funció d'invocació pròpia'? Donar un exemple?
Resposta:
com obrir el fitxer .eps
La sintaxi de la funció d'invocació pròpia:
(function () { return () } () ;
Aquí, l’últim parèntesi ‘()’ de la sintaxi indica que és una expressió de funció.
Exemple de funcions autoconvocades:
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'; }());
Aquí, la funció anònima s'invoca automàticament al fragment de codi.
La funció s'utilitza per establir la propietat de text del fitxer
etiqueta que té 'display_num' com a identificador.
Sortida del fragment de codi:
Aquesta funció no té nom.
Es diu automàticament
P # 16) Al següent fragment de codi, podeu predir la sortida o Si apareix un error; si us plau, expliqueu l'error?
Resposta:
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
Consulteu la Q # 11 anterior, tal com s’explica allà, l’intèrpret portarà a la part superior totes les variables declarades, excepte la inicialització.
D'acord amb això, la variable 'first_num' es porta a la part superior i la variable 'second_num' s'inicialitza amb un valor, de manera que no es porta a la part superior. Aquest codi no generarà cap error. Però el valor de 'second_num' no està definit.
Sortida del fragment de codi:
Aquí es porta la variable first_num: 100 a la part superior
Com que la segona variable s'inicialitza, el valor no es porta a la part superior i el seu valor no està definit
P # 17) Si necessiteu amagar el codi JavaScript de les versions anteriors del navegador, com el realitzareu?
Resposta: A Code, després de l'etiqueta, afegiu '
Això no permetrà que el navegador executi el codi JavaScript si era una versió anterior. A més, després de l'etiqueta final, afegiu l'etiqueta HTML '// ->'.
Aquest mètode ajudarà a resoldre fins a cert punt problemes de compatibilitat i problemes d’interfície d’usuari.
Sample: Software Testing Help
Aquí, el fragment de codi després d’executar una etiqueta al meu navegador, ja que no faig servir una versió anterior del navegador.
Sortida del fragment de codi:
Aquí no estic fent servir una versió anterior del navegador.
Per tant, el codi funcionarà al meu navegador
P # 18) Al següent fragment de codi, podeu predir la sortida o, si apareix un error, expliqueu-lo?
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();
Resposta: Aquí, al codi indicat anteriorment, el valor de la variable 'first_num' no serà de 1000.
A JavaScript, no hi ha cap elevació per a la inicialització de variables. La funció ‘result ()’ escollirà la variable local ‘first_num’, tal com es declara dins de la funció. Com que la variable es declara després d’utilitzar-se, el valor de ‘first_num’ no està definit.
Sortida del fragment de codi:
Sense definir
P # 19) Quina diferència hi ha entre les paraules clau 'var' i 'let'?
Resposta: Les diferències són les següents:
On | deixar |
---|---|
La paraula clau 'var' es va introduir al codi JavaScript des de la fase inicial. | La paraula clau 'let' només es va introduir el 2015. |
La paraula clau 'Var' té l'abast de la funció. La variable definida amb var està disponible a qualsevol lloc de la funció | Una variable declarada amb la paraula clau 'let' només té un abast en aquest bloc. Per tant, let té un bloc d’abast. |
La variable declarada amb ‘var’ s’hissarà | La variable declarada amb 'deixa' s'aixeca |
P # 20) Al següent fragment de codi podeu predir la sortida o si apareix un error; si us plau, expliqueu l'error?
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;
Resposta:
Sortida del fragment de codi:
Primer Número: 1000
Ho aconseguirem 'Primer Número: 1000 ' com a sortida. També hi ha un error 'Error de referència no capturat'.
Al fragment de codi, l'abast de 'second_num' només es troba dins del bloc if (). Si un desenvolupador intenta accedir al valor fora del bloc, obtindrà un 'error de referència no capturat'.
Error de referència no capturat: second_num no està definit.
P # 21) Quina diferència hi ha entre '==' i '==='?
Resposta: Tant ‘==’ com ‘===’ són operadors de comparació.
Operador ‘==’ | Operador ‘===’ |
---|---|
Es coneix com a 'Operador de conversió de tipus' | Es coneix com a 'Operador d’igualtat estricte' |
Es compara el valor, no es compara el tipus | Compara tant el valor com el tipus. |
Q # 22) Quina diferència hi ha entre 'let' i 'const'?
Resposta: les diferències són les següents:
deixar | const |
---|---|
utilitzant 'deixem' podem canviar el valor de la variable diverses vegades | utilitzant 'const', després de la primera assignació del valor no podem redefinir-lo de nou |
Penseu en el codi { deixem primer_nom = 1; primer_nom = 2; document. escriure (primer_numre); } Aquí el codi donarà una sortida, ja que és possible el canvi de valor de first_num. | Penseu en el codi { const segon_nom = 1; segon_nom = 2; document. escriure (segon_numre); } Aquí el codi produirà un error, ja que el 'segon_num' té assignat un segon valor. |
P # 23) Al següent fragment de codi podeu predir la sortida o Si teniu un error; si us plau, expliqueu l'error?
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;
Resposta: Consulteu la Q # 21 abans de continuar llegint
Sortida del fragment de codi:
Primer número: 501
També obtindrem un error mentre executem el codi, ja que intentem canviar el valor d’una variable ‘const’.
error: Uncaught TypeError: assignació a una variable constant.
P # 24) Quina diferència hi ha entre 'nul' i 'indefinit'?
Resposta: Les dues paraules clau representen valors buits .
Les diferències són:
- A 'indefinit', definirem una variable, però no assignarem cap valor a aquesta variable. D’altra banda, a ‘nul’ definirem una variable i assignarem el valor ‘nul’ a la variable.
- tipus d’objecte (indefinit) i tipus d’objecte (nul).
P # 25) Quina diferència hi ha entre 'declaració de funció' i 'expressió de funció'?
Resposta: Es pot explicar amb un exemple:
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);
Com es mostra a l'exemple add () és una declaració de funció i restar () és una expressió de funció. La sintaxi de la declaració de funció és com una funció que es desa en una variable.
Les declaracions de funcions s'eleven però no s'expressen les expressions de funcions.
P # 26) Què són els 'settimeout ()'?
Resposta: S’explicarà millor amb un exemple.
Penseu en el fragment de codi
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Sortida del fragment de codi:
Primera línia
Segona línia
Tercera línia
Ara introduïu el mètode settimeout () i emboliqueu-hi el mateix conjunt de codi.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Sortida del fragment de codi:
Segona línia
Tercera línia
Primera línia
Amb la introducció de settimeout (), els processos es tornen asíncrons. Les primeres sentències que es col·loquen a la pila són Console.log ('Segona línia') i Console.log ('Tercera línia'), i s'executaran primer. Heu d’esperar fins que es completi tot el que hi ha a la pila.
Tot i que '0' és el període de temps d'espera, no vol dir que s'executi immediatament.
P # 27) Què és un tancament i com el feu servir?
Resposta: El tancament és una funció interna. Pot accedir a les variables externes d’una funció. A Closure, dins de function_1 hi ha una altra function_2 que retorna el valor 'A' i function_1 també retorna un valor; digueu 'B'.
Aquí, sum () és la funció externa i add () és una funció interna, pot accedir a totes les variables incloses ‘first_num’ ‘second_num’ i ‘third_num’. La funció externa crida a la funció 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));
Sortida del fragment de codi:
El resultat és: 500
P # 28) Al següent fragment de codi podeu predir la sortida o Si teniu un error; si us plau, expliqueu l'error?
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; }
Resposta: Les declaracions d'assignació es consideren de dreta a esquerra.
Sortida del fragment de codi:
x = 200
i: 200
amb: 200
pàg: 200
q: 200
P # 29) Podeu donar un exemple en què el fragment de codi mostri la diferència entre els mètodes test () i 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; }
Resposta: Aquest és un exemple del mètode test () i exec (). Consulteu les preguntes núm. 5 per obtenir més informació.
Sortida del fragment de codi:
Hem trobat el patró amb exec (): Com
Utilitzant test () el resultat és: true
P # 30) Podeu posar un exemple que mostri JavaScript Hoisting?
Resposta:
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
Consulteu la Q # 11 per obtenir més informació.
Aquí s’utilitza la variable ‘num’ abans de declarar-la. Però JavaScript Hoisting ho permetrà.
Sortida del fragment de codi:
Aquí s’utilitzen les variables abans de declarar-les.
El valor de la variable és 100
P # 31) Podeu donar un exemple que mostri l'ús de la paraula clau 'depurador' al codi JavaScript?
Resposta:
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: El depurador ha d’estar habilitat perquè el navegador pugui provar el codi. Consulteu la pregunta número 5 per obtenir més informació
Aquest és un exemple de paraula clau de depuració (navegador utilitzat: Chrome)
Sortida del fragment de codi:
Aquí per provar el codi, el depurador ha d’estar habilitat per al navegador,
durant la depuració, el codi següent hauria de deixar d'executar-se abans d'anar a la següent línia.
S'estan afegint números ...
Seleccioneu 'Reprèn l'execució de l'script' per continuar:
Suma dels nombres: 1500
P # 32) Al següent fragment de codi, podeu predir la sortida o Si teniu un error; si us plau, expliqueu l'error?
Sample: Software Testing Help
Example Type Converting
el millor bloquejador de finestres emergents gratuït crom
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 '; }
Resposta: Penseu en el codi
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
Sortida del fragment de codi:
La comparació retornarà 'veritable' per operador de conversió de tipus
P # 33) Són similars Java i JavaScript? Si no, quina és la diferència entre Java i JavaScript?
Resposta:
Sl núm | Java | JavaScript |
---|---|---|
1 | Java és un llenguatge de programació d’ús general. | JavaScript és un llenguatge de seqüències d’ordres interpretat d’alt nivell. |
2 | Java es basa en conceptes de programació orientada a objectes (OOPS). | JavaScript és orientat tant a objectes com a scripts funcionals. |
3 | S’executa en una màquina virtual de Java (JVM) o en un navegador. | S’executa només en un navegador. |
4 | El codi Java s’ha de compilar com a fitxer de classe Java. | JavaScript no té cap pas de compilació. En canvi, un intèrpret del navegador llegeix el codi JavaScript, interpreta cada línia i l’executa. |
Per tant, en resum, aquestes llengües no estan gens relacionades ni dependents entre elles.
P # 34) Quins tipus de dades són compatibles amb JavaScript?
Resposta: JavaScript admet el següent Set tipus de dades primitives i Objecte :
(i) Booleà: Es tracta d’un tipus de dades lògiques que només pot tenir dos valors, és a dir, vertader o fals. Quan comprovem el tipus de dades de 'true' o 'false' mitjançant l'operador typeof, torna un valor booleà.
Per exemple, typeof (true) // retorna booleà
Es poden utilitzar valors booleans per comparar dues variables.
Per exemple,
var x = 2; var y = 3; x==y //returns false
El valor booleà també es pot utilitzar per comprovar una condició
Per exemple,
var x = 2; var y = 3; If(xSi la condició anterior ‘x Es pot crear una variable booleana mitjançant la funció Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
A més, es pot crear l'objecte booleà mitjançant el nou operador de la següent manera:
var myobj = new Boolean(true);
(Ii) Nul :Es tracta d’un tipus de dades que només es representa amb un valor, el mateix 'nul'. Un valor nul no significa cap valor.
Per exemple,
var x = null; console.log(x);// This returns null
Si comprovem el tipus de dades de l’a mitjançant l’operador typeof, obtindrem:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Sense definir: Aquest tipus de dades significa una variable que no està definida. La variable es declara però no conté cap valor.
Per exemple,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
La variable 'a' s'ha declarat però encara no se li ha assignat cap valor.
Podem assignar un valor a:
(iv) Número: Aquest tipus de dades pot ser un valor de coma flotant, un enter, un valor exponencial, un 'NaN' o un 'Infinit'.
Per exemple,
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
El número literal es pot crear mitjançant la funció Number ():
var x = Number(10); console.log(x);// This returns 10
A més, es pot crear l'objecte numèric mitjançant l'operador 'nou' de la següent manera:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Es tracta d’una primitiva numèrica que pot representar enters amb una precisió arbitrària. BigInt es crea afegint n al final d'un enter
Per exemple,
const x = 15n;
El número es pot convertir en un BigInt amb la funció BigInt (número).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Cadena: Aquest tipus de dades s’utilitza per representar dades textuals.
Per exemple,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
També es pot crear una nova cadena mitjançant la funció String () de la següent manera:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
La funció String () també s'utilitza per convertir un valor que no sigui una cadena.
String(150); // This statement will create a string ‘150’
La cadena també es pot crear mitjançant 'Nou' operador
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?’
Les cadenes de JavaScript són immutables, és a dir, un cop creada una cadena, no es pot modificar. Però es pot crear una altra cadena mitjançant una operació a la cadena original.
Per exemple,
- Concatenant dues cadenes mitjançant l'operador de concatenació (+) o String.concat () .
- Obtenint subcadena utilitzant String.substr () .
(vii) Símbol: Es tracta d’un valor primitiu únic i immutable que s’utilitza com a clau d’una propietat Object. Els símbols són nous per a JavaScript a ECMAScript 2015
A Símbol value representa un identificador únic.
Per exemple,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Per tant, es creen molts símbols amb la mateixa descripció, però amb valors diferents.
Els símbols no es poden convertir automàticament.
Per exemple,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Es pot treballar amb toString () com segueix:
alert(symVar1.toString()); // Symbol(symVar1), this works
Tipus de dades d'objecte
Un objecte és un valor de la memòria al qual fa referència un identificador.
L’objecte fa referència a una estructura de dades que conté dades i instruccions per treballar amb les dades. Els objectes de vegades fan referència a coses del món real, Per exemple, un empleat o un cotxe.
Per exemple,
Als objectes JavaScript, els valors s’escriuen com nom: valor parells com a continuació:
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' };
El nom: valors es diuen parelles propietats . Per exemple, 'Tipus' és propietat i 'BMW' és el valor de la propietat.
S'accedeix als valors de les propietats mitjançant objectName.propertyName
o objectName ('propertyName')
Per exemple, car1.type o car1 ('type'), retorna 'BMW'
El valor de l'objecte car1 es pot canviar de la següent manera:
car1.type = “Audi”;
Ara,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
P # 35) JavaScript és un llenguatge sensible a majúscules i minúscules?
Resposta: Sí, JavaScript distingeix entre majúscules i minúscules. Això significa paraules clau del llenguatge, variables, noms de funcions i qualsevol altre identificador que sempre s’ha d’escriure amb majúscules o minúscules consistents.
Per exemple, myVar és una variable diferent a myvar.
P # 36) Com determinar a quin tipus de dades pertany un operand?
Resposta: El tipus de dades d’operands es pot trobar mitjançant l’operador typeof
Retorna una cadena que indica el tipus de l'operant.
Sintaxi : tipus d'operant
typeof (operand)
L'operand pot ser qualsevol variable, objecte o funció.
Per exemple,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
P # 37) Per què es diu JavaScript com un llenguatge dinàmic o mecanografiat poc?
Resposta: JavaScript s’anomena llenguatge dinàmic o de mecanografia baixa perquè les variables JavaScript no s’associen directament a cap tipus de valor i es pot assignar i reassignar qualsevol variable a qualsevol tipus de valor:
Per exemple,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
P # 38) Què és nul a JavaScript?
Resposta: El valor nul representa l'absència intencionada de qualsevol valor d'objecte.
Aquest és un dels valors primitius de JavaScript.
Per exemple,
Var myvar = null; console.log(myvar); //This will print null
P # 39) Què és NaN?
Resposta: NaN és una propietat de l'objecte global que representa No-A-Número.
Per exemple,
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
P # 40) Com es divideix una cadena en elements de matriu?
Resposta: Una cadena es pot dividir en una matriu mitjançant el mètode JavaScript split (). Aquest mètode pren un únic paràmetre, el caràcter al qual voleu separar la cadena, i retorna les subcadenes entre el separador com a elements d'una matriu.
Per exemple,
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
P # 41) Com unir elements de matriu en una cadena?
Resposta: Els elements de matriu es poden unir mitjançant el mètode join ().
Per exemple,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Els elements de matriu s’uneixen en una cadena de la següent manera:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
P # 42) Quin tipus d'errors té JavaScript?
Resposta: A continuació es detallen els dos tipus d'error:
- Errors de sintaxi: Es tracta d’errors ortogràfics o errors en l’ortografia del codi que fan que el programa no s’executi del tot ni deixi de funcionar a mitges. Normalment, també s’ofereixen missatges d’error.
- Errors lògics: Es tracta d’errors quan la sintaxi és correcta, però la lògica o el codi són inexactes. Aquí el programa s’executa correctament sense errors. Però els resultats de sortida són incorrectes. Sovint són més difícils de solucionar que els errors de sintaxi, ja que aquests programes no ofereixen cap missatge d’error per als errors lògics.
Q # 43) Com gestionar un gran nombre d'opcions per a una condició en un cas eficaç manera?
Resposta: Això es fa mitjançant instruccions switch:
Per exemple,
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 }
P # 44) Què és un operador ternari?
Resposta: El ternari o condicional és un operador que s'utilitza per fer una tria ràpida entre dues opcions basades en una prova vertadera o falsa.
Això es pot utilitzar com a substitut de forif ... sinó bloquejar quan es tenen dues opcions que es trien entre una condició veritable / falsa.
Per exemple,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Es pot escriure el mateix codi mitjançant un operador ternari en una sola sentència de la següent manera:
resultat = (condició)? 'resultat 1': 'resultat 2';
Q # 45) Suposem que hi ha un objecte anomenat persona
const persona = {
nom : {
primer: 'Bob',
últim: 'Smith'
}
};
Quina de les opcions següents és la manera correcta d'accedir a la propietat de l'objecte 'primer'?
- person.name.first,o bé
- persona (‘nom’) (‘primer’)?
Resposta: Tots dos són maneres correctes. és a dir, utilitzar punts com person.name.first o utilitzar una notació entre claudàtors com a persona ('nom') ('primer')
P # 46) Què és 'això'?
Resposta: La paraula clau 'això' fa referència a l'objecte actual en què s'escriu el codi.
Es tracta d’assegurar-se que s’utilitzen els valors correctes quan canvia el context d’un membre
Per exemple, hi ha dos casos diferents de persona amb noms diferents i cal imprimir el seu propi nom a l'alerta de la següent manera:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Aquí, la sortida és Bon dia! Jo sóc 'Tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Aquí, la sortida és Bon dia! Sóc 'Jerry'
Q # 47) Què són les funcions Anonymous?
Resposta: Les funcions anònimes són funcions sense tenir cap nom i no faran res per si soles. Generalment s’utilitzen juntament amb un gestor d’esdeveniments.
Per exemple, al codi següent, codi de funció anònim, és a dir, alerta ('Hola'); s'executaria fent clic al botó associat:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
La funció anònima també es pot assignar al valor d'una variable.
Per exemple,
var myVar = function() { alert('Hi'); }
Aquesta funció es pot invocar mitjançant:
myVar();
Conclusió
És millor emmagatzemar els codis JavaScript, CSS i HTML com a fitxers externs 'js' independents. La separació de la part de codificació i la part HTML facilitarà la lectura i el treball amb elles. Diversos desenvolupadors també consideren que aquest mètode és més fàcil de treballar simultàniament.
El codi JavaScript és fàcil de mantenir. El mateix conjunt de codis JavaScript es pot utilitzar en diverses pàgines. Si fem servir codis JavaScript externs i si hem de canviar el codi, l’hem de canviar en un sol lloc. De manera que puguem reutilitzar el codi i mantenir-lo d’una manera molt més senzilla.
Lectura suggerida = >> TypeScript vs JavaScript
El codi JavaScript té un millor rendiment. Els fitxers JavaScript externs augmentaran la velocitat de càrrega de la pàgina, ja que el navegador els guardarà a la memòria cau.
Espero que us hagin estat útils les preguntes i respostes de l’entrevista de JavaScript. Practiqueu tantes preguntes com sigui possible i tingueu confiança.
Lectura recomanada
- Preguntes i respostes de l’entrevista
- Top 32 de les millors preguntes i respostes de l’entrevista Datastage
- Preguntes i respostes de l'entrevista de proves ETL
- Top 20+ Preguntes i respostes de l'entrevista .NET
- Algunes preguntes i respostes de proves manuals complicades
- 25 millors preguntes i respostes d’entrevista de proves àgils
- Preguntes d'entrevistes amb respostes a Spock (més populars)
- Algunes preguntes d’entrevistes de proves de programari interessants