top 45 javascript interview questions with detailed answers
Najčešće postavljana osnovna i napredna pitanja o intervjuu za JavaScript s detaljnim odgovorima za svakog programera za JavaScript.
Ako se pripremate za intervju, ovdje ćete naći najčešće postavljana pitanja i odgovore na JS intervju.
Isto smo osmislili kako bismo vas upoznali s pitanjima s kojima biste se mogli susresti tijekom tehničkog razgovora.
Istražimo !!
O JavaScriptu
JavaScript je programski jezik visoke razine, vjerojatno jedan od najčešće korištenih programskih jezika na svijetu trenutno. Može se koristiti za programiranje web preglednika ili čak poslužitelja.
Da biste razumjeli važnost JavaScript-a, onemogućite JavaScript u svom pregledniku i pokušajte u njega učitati web stranicu. Te web stranice neće raditi ispravno. Mnogi sadržaji u njima mogu se loše ponašati. Gotovo svi moderni preglednici koriste kombinaciju JavaScript, CSS i HTML.
JavaScript je protumačeni programski jezik. Tumač je ugrađen u preglednike poput Google Chromea, Microsoft Internet Explorera itd. Dakle, njegovim se kodom može upravljati JavaScript Engine preglednika.
JavaScript se pojavio u prosincu 1995. godine i u početku se zvao LiveScript, iako je naziv ubrzo promijenjen iz marketinških razloga. Ne treba je miješati s 'Javom' koja također ima neke sličnosti, ali je potpuno drugačiji jezik.
Najčešća pitanja o intervjuu za JavaScript
P # 1) Što je JavaScript?
Odgovor: JavaScript je skriptni jezik koji je razvio Netscape. Može se koristiti za programiranje web preglednika ili čak poslužitelja. Može dinamički ažurirati sadržaj web stranice, što je ljepota ovog jezika.
P # 2) Koje su prednosti upotrebe vanjskog JavaScript-a?
Odgovor: Korištenje vanjskog JavaScript-a u našem kodu ima brojne prednosti.
Oni su navedeni u nastavku.
- Izvršava se odvajanje koda.
- Održavanje koda je jednostavno.
- Izvedba je bolja.
P # 3) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku, objasnite pogrešku?
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;
Odgovori je r : Ovaj kod neće generirati pogreške. Ponovno proglašavanje varijabli dopušteno je u JavaScript-u. Stoga se vrijednost varijable neće izgubiti nakon izvršavanja ovdje izraza.
P # 4) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
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 ;
Odgovor: Ovaj kod neće prikazivati nikakve pogreške!
Izlaz isječka koda:
Prva varijabilna suma je: 70 Sajeesh Sreeni
Druga varijabilna suma je: Sajeesh Sreeni 5020
P # 5) Koja je razlika između metoda test () i exec ()?
Odgovor: I test () i exec () su RegExp metode izražavanja.
Korištenjem a test () , tražit ćemo niz za zadani uzorak, ako pronađe odgovarajući tekst, vraća logičku vrijednost 'true' ili pak vraća 'false'.
Ali u izvršiti () , pretraživat ćemo niz za zadani uzorak, ako pronađe odgovarajući tekst, tada vraća sam uzorak ili vraća vrijednost 'null'.
P # 6) Koje su prednosti JavaScript-a?
Odgovor: Ovaj skriptni jezik ima brojne prednosti kao što je navedeno u nastavku.
- Lagana: Jednostavno je za provedbu. Ima male otiske memorije.
- Protumačeno: To je protumačeni jezik. Upute se izvršavaju izravno.
- Objektno orijentirano: To je objektno orijentirani jezik.
- Prvorazredne funkcije: U JavaScriptu se funkcija može koristiti kao vrijednost.
- Jezik skriptiranja: To je jezik na kojem su napisane upute za radno okruženje.
P # 7) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Odgovor: Varijabla 'const' 'first_num' nije inicijalizirana vrijednošću, pa će kôd proizvesti sintaksnu pogrešku.
Izlaz isječka koda:
Pogreška: Uncaught SyntaxError: Nedostaje inicijalizator u deklaraciji const
P # 8) Jeste li koristili neki preglednik za otklanjanje pogrešaka? Ako je odgovor da, kako se to radi?
Odgovor: Pritiskom na tipku ‘F12’ na tipkovnici možemo omogućiti ispravljanje pogrešaka u pregledniku. Odaberite karticu 'Konzola' za prikaz rezultata.
U Konzoli možemo postaviti točke prekida i pregledati vrijednost u varijablama. Svi moderni preglednici imaju ugrađeni program za ispravljanje pogrešaka (Na primjer: Chrome, Firefox, Opera i Safari ) . Ova se značajka može UKLJUČITI i ISKLJUČITI.
P # 9) Koja je upotreba ključne riječi 'program za otklanjanje pogrešaka' u JavaScript kodu?
Odgovor: Korištenje ključne riječi 'otklanjanje pogrešaka' u kodu je poput korištenja točaka prekida u programu za otklanjanje pogrešaka.
Da biste testirali kôd, program za ispravljanje pogrešaka mora biti omogućen za preglednik. Ako je otklanjanje pogrešaka u pregledniku onemogućeno, kôd neće raditi. Tijekom otklanjanja pogrešaka koda, preostali dio trebao bi se prestati izvršavati, prije nego što pređe na sljedeći redak.
P # 10) Koje su različite vrste vrijednosti pogrešaka?
Odgovor: U svojstvu 'Naziv pogreške' postoji 6 vrsta vrijednosti.
Pogreška | Opis |
---|---|
Pogreška dometa | Ovu ćemo pogrešku dobiti ako upotrijebimo broj izvan raspona |
Sintaktička pogreška | Ova se pogreška pojavljuje kada koristimo pogrešnu sintaksu. (Molimo pogledajte pitanje br. 7) |
Referentna pogreška | Ova se pogreška pojavljuje ako se koristi neprijavljena varijabla. Pogledajte pitanje br. 19 |
Eval pogreška | Bačeno zbog pogreške u evalu (). Nova verzija JavaScript-a nema ovu pogrešku |
Upišite pogrešku | Vrijednost je izvan raspona korištenih vrsta. Molimo pogledajte pitanje br. 22 |
URI pogreška | Zbog upotrebe ilegalnih znakova. |
P # 11) Što je JavaScript dizanje?
Odgovor: Dok se koristi metoda 'JavaScript Hosting', kada tumač pokrene kôd, sve su varijable podignute na vrh izvornog / trenutnog opsega. Ako negdje unutar koda imate deklariranu varijablu, ona će biti dovedena na vrh.
Ova metoda primjenjiva je samo na deklaraciju varijable i nije primjenjiva na inicijalizaciju varijable. Funkcije su također podignute na vrh, dok objašnjenja funkcija nisu podignuta na vrh.
U osnovi, to gdje smo deklarirali varijablu unutar koda nije puno bitno.
P # 12) Što je JavaScript 'Strogi način'?
Odgovor: 'Strogi način rada' ograničena je varijanta JavaScript-a. Obično je ovaj jezik 'ne baš strog' u bacanju pogrešaka. Ali u 'Strogom načinu rada' on će izbaciti sve vrste pogrešaka, čak i tihe pogreške. Dakle, postupak otklanjanja pogrešaka postaje lakši. I smanjuju se šanse za pogrešku programera.
P # 13) Koje su karakteristike JavaScript 'Strogog načina rada'?
Odgovor: Slijede karakteristike 'strogog načina rada':
- 'Strogi način' zaustavit će razvojne programere u stvaranju globalnih varijabli.
- Programerima je zabranjeno korištenje dupliciranih parametara.
- Strogi način rada ograničit će vam upotrebu ključne riječi JavaScript kao naziv varijable ili imena funkcije.
- Strogi način rada deklariran je s ključnom riječi 'use strict' na početku skripte.
- Svi preglednici podržavaju strogi način.
P # 14) Koje su funkcije samozvanja?
Odgovor: Poznati su i pod nazivom „Izrazi funkcija s neposrednim pozivom“ ili „Samoizvršavanje anonimnih funkcija“. Te se funkcije automatski pozivaju u kodu, pa su stoga i nazvane 'Funkcije samopozivanja'.
Obično definiramo funkciju i pozivamo je, ali ako želimo automatski izvršiti funkciju tamo gdje je to objašnjeno i ako je nećemo ponovno pozivati, možemo koristiti anonimne funkcije. A ove vrste funkcija nemaju ime.
P # 15) Koja je sintaksa 'Funkcije samozazivanja'? Dajte primjer?
Odgovor:
Sintaksa za funkciju samozazivanja:
(function () { return () } () ;
Ovdje zadnja zagrada ‘()’ u sintaksi navodi da je to izraz funkcije.
Primjer samozvanih funkcija:
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'; }());
Ovdje se anonimna funkcija automatski poziva u isječku koda.
Funkcija se koristi za postavljanje svojstva teksta datoteke
oznaka s ID-om 'display_num'.
Izlaz isječka koda:
Ova funkcija nema naziv.
Poziva se automatski
P # 16) U sljedećem isječku koda, možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
Odgovor:
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
Pogledajte prethodni Q # 11, kako je tamo objašnjeno, tumač će odvesti sve deklarirane varijable osim inicijalizacije na vrh.
Prema tome, varijabla ‘first_num’ vodi se na vrh, a varijabla ‘second_num’ inicijalizira se vrijednošću, tako da se ne vodi na vrh. Ovaj kod neće dovesti do pogreške. No, vrijednost 'second_num' nije definirana.
Izlaz isječka koda:
Ovdje je varijabla first_num: 100 odvedena na vrh
Budući da je druga varijabla inicijalizirana, vrijednost se ne odvodi na vrh i njezina je vrijednost nedefinirana
P # 17) Ako trebate sakriti JavaScript kôd od starijih verzija preglednika, kako ćete ga izvesti?
Odgovor: U Code, nakon oznake, dodajte '
To neće dopustiti pregledniku da izvrši JavaScript kôd ako je to bila njegova starija verzija. Također, nakon završne oznake dodajte ‘// ->’ HTML oznaku.
Ova će metoda u određenoj mjeri pomoći u rješavanju problema s kompatibilnošću i problema s korisničkim sučeljem.
Sample: Software Testing Help
Ovdje se u mojem pregledniku izvršava isječak koda nakon oznake jer ne koristim stariju verziju preglednika.
Izlaz isječka koda:
Ovdje ne koristim stariju verziju preglednika.
Tako će kod raditi u mom pregledniku
P # 18) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku, objasnite pogrešku?
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();
Odgovor: Ovdje u kodu navedenom gore, vrijednost varijable ‘first_num’ neće biti 1000.
U JavaScript-u nema podizanja za inicijalizaciju varijable. Funkcija ‘result ()’ odabrat će lokalnu varijablu ‘first_num’, kako je deklarirana unutar funkcije. Budući da je varijabla deklarirana nakon što je upotrijebljena, vrijednost 'first_num' nije definirana.
Izlaz isječka koda:
Nedefiniran
P # 19) Koja je razlika između ključne riječi 'var' i 'let'?
Odgovor: Razlike su sljedeće:
Gdje | neka |
---|---|
Ključna riječ 'var' uvedena je u JavaScript kôd od samog početka Stagea. | Ključna riječ ‘let’ uvedena je samo 2015. godine. |
Ključna riječ 'Var' ima opseg funkcije. Varijabla definirana s var dostupna je bilo gdje unutar funkcije | Varijabla deklarirana s ključnom riječi 'let' ima opseg samo s u tom bloku. Dakle, neka ima Block Scope. |
Varijabla deklarirana s 'var' treba biti podignuta | Varijabla deklarirana s 'neka' bude podignuta |
P # 20) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
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;
Odgovor:
Izlaz isječka koda:
Prvi Broj: 1000
Dobit ćemo 'Prvi Broj: 1000 ' kao izlaz. Tu je i pogreška 'Uncaught Reference Error'.
U isječku koda, opseg 'second_num' nalazi se samo u bloku if (). Ako programer pokuša pristupiti vrijednosti izvan bloka, dobit će 'Pogreška nepohvaćene reference'.
Neuhvaćena pogreška reference: drugi_broj nije definiran.
P # 21) Koja je razlika između ‘==’ i ‘===’?
Odgovor: I '==' i '===' su operateri usporedbe.
Operator '==' | Operator ‘===’ |
---|---|
Poznat je kao ‘Operator za pretvaranje tipova’ | Poznat je kao ‘Strogi operator jednakosti’ |
Uspoređuje vrijednost, ne uspoređuje tip | Uspoređuje i vrijednost i vrstu. |
P # 22) Koja je razlika između 'neka' i 'const'?
Odgovor: Razlike su sljedeće:
neka | konst |
---|---|
pomoću 'neka' možemo mijenjati vrijednost varijable bilo koji broj puta | pomoću 'const', nakon prvog dodjeljivanja vrijednosti ne možemo ponovno definirati vrijednost |
Razmotrite kod { neka prvi_broj = 1; prvi_broj = 2; dokument. zapis (prvi_broj); } Ovdje će kod dati izlaz, jer je moguća promjena vrijednosti first_num. | Razmotrite kod { const drugi_broj = 1; drugi_broj = 2; dokument. zapis (drugi_broj); } Ovdje će kod generirati pogrešku, jer je 'second_num' dodijeljen s drugom vrijednošću. |
P # 23) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
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;
Odgovor: Molimo pogledajte Q # 21 prije daljnjeg čitanja
Izlaz isječka koda:
Prvi broj: 501
Dobit ćemo i pogrešku tijekom izvođenja koda, jer pokušavamo promijeniti vrijednost varijable ‘const’.
Pogreška: Uncaught TypeError: Dodjela konstanti varijable.
P # 24) Koja je razlika između 'null' i 'undefined'?
Odgovor: Obje ključne riječi predstavljaju prazne vrijednosti .
Razlike su:
kako pokrenuti jar datoteku na Windows 10
- U ‘undefined’ ćemo definirati varijablu, ali toj varijabli nećemo dodijeliti vrijednost. S druge strane, u ‘null’ ćemo definirati varijablu i varijabli dodijeliti vrijednost ‘null’.
- vrsta (nedefinirano) i vrsta (nula) objekta.
P # 25) Koja je razlika između 'izjave funkcije' i 'izraza funkcije'?
Odgovor: To se može objasniti na primjeru:
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);
Kao što je prikazano u primjeru add () je deklaracija funkcije, a subtract () izraz funkcije. Sintaksa deklaracije funkcije je poput funkcije koja se sprema u varijablu.
Deklaracije funkcija su podignute, ali izrazi funkcija nisu dignuti.
P # 26) Što su 'settimeout ()'?
Odgovor: To će biti bolje objašnjeno na primjeru.
Razmotrite isječak koda
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Izlaz isječka koda:
Prvi red
Druga linija
Treći redak
Sada uvodite metodu settimeout () i u nju umotavate isti skup koda.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Izlaz isječka koda:
Druga linija
Treći redak
Prvi red
Uvođenjem settimeout (), procesi postaju asinkroni. Prve izjave koje se stavljaju u stog su Console.log ('Drugi redak') i Console.log ('Treći redak'), i oni će se prvo izvršiti. Morate pričekati dok se prvo ne završi sve u hrpi.
Iako je '0' vremensko ograničenje, to ne znači da će se odmah izvršiti.
P # 27) Što je Zatvaranje i kako ga koristite?
Odgovor: Zatvaranje je unutarnja funkcija. Može pristupiti vanjskim varijablama funkcije. U Zatvaranju, unutar funkcije_1 postoji još jedna funkcija_2 koja vraća vrijednost 'A', a funkcija_1 također vraća vrijednost; recite 'B'.
Ovdje je sum () vanjska funkcija, a add () unutarnja funkcija, može pristupiti svim varijablama, uključujući 'prvi_broj', 'drugi_broj' i 'treći_broj'. Vanjska funkcija poziva unutarnju funkciju 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));
Izlaz isječka koda:
Rezultat je: 500
P # 28) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
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; }
Odgovor: Izjave o dodjeli razmatraju se zdesna nalijevo.
Izlaz isječka koda:
x = 200
i: 200
sa: 200
str: 200
q: 200
P # 29) Možete li dati primjer gdje isječak koda prikazuje razliku između metoda 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; }
Odgovor: Ovo je primjer metode test () i exec (), pogledajte pitanje br. 5 za više detalja.
Izlaz isječka koda:
Pronašli obrazac pomoću exec (): Kako
Korištenjem testa () rezultat je: true
P # 30) Možete li dati primjer koji pokazuje JavaScript dizanje?
Odgovor:
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
Molimo pogledajte Q # 11 za više detalja.
Ovdje se koristi varijabla 'num' prije nego što je deklariramo. Ali JavaScript Hosting to će dopustiti.
Izlaz isječka koda:
Ovdje se koriste varijable prije nego što se objave.
Vrijednost varijable je 100
P # 31) Možete li dati primjer koji prikazuje upotrebu ključne riječi 'program za otklanjanje pogrešaka' u JavaScript kodu?
Odgovor:
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;
Bilješka: Program za ispravljanje pogrešaka mora biti omogućen da bi preglednik mogao testirati kôd. Pogledajte pitanje br. 5 za više detalja
Ovo je primjer ključne riječi za otklanjanje pogrešaka (korišten preglednik: Chrome)
Izlaz isječka koda:
Ovdje za testiranje koda mora biti omogućen program za ispravljanje pogrešaka za preglednik,
tijekom otklanjanja pogrešaka kod u nastavku trebao bi se prestati izvršavati prije nego što pređe na sljedeći redak.
Dodavanje brojeva ...
Odaberite 'Nastavi izvršavanje skripte' da biste nastavili:
Zbroj brojeva: 1500
P # 32) U sljedećem isječku koda možete li predvidjeti izlaz ili Ako dobijete pogrešku; molim vas objasnite pogrešku?
Sample: Software Testing Help
Example Type Converting
brute force password cracker za android
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 '; }
Odgovor: Razmotrite kod
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
Izlaz isječka koda:
Usporedba će vratiti 'istina' po tipu Operator za pretvaranje
P # 33) Jesu li Java i JavaScript slični? Ako ne, koja je razlika između Jave i JavaScript-a?
Odgovor:
Sl br | Java | JavaScript |
---|---|---|
1 | Java je programski jezik opće namjene. | JavaScript je interpretirani skriptni jezik na visokoj razini. |
dva | Java se temelji na konceptima objektno orijentiranog programiranja (OOPS). | JavaScript je i objektno orijentiran kao i funkcionalno skriptiranje. |
3 | Radi u Java virtualnom stroju (JVM) ili pregledniku. | Radi samo u pregledniku. |
4 | Java kôd treba kompajlirati kao datoteku Java klase. | JavaScript nema korak kompilacije. Umjesto toga, tumač u pregledniku čita JavaScript kôd, tumači svaki redak i pokreće ga. |
Dakle, ukratko, ti jezici uopće nisu međusobno povezani ili ovisni.
P # 34) Koje vrste podataka podržava JavaScript?
Odgovor: JavaScript podržava sljedeće Sedam primitivni tipovi podataka i Objekt :
(i) logička vrijednost: Ovo je logičan tip podataka koji može imati samo dvije vrijednosti, tj. True ili false. Kada provjerimo vrstu podataka 'true' ili 'false' pomoću typeof operatora, on vraća booleovu vrijednost.
Na primjer, typeof (true) // vraća boolean
Logičke vrijednosti mogu se koristiti za usporedbu dviju varijabli.
Na primjer,
var x = 2; var y = 3; x==y //returns false
Logička vrijednost može se koristiti i za provjeru stanja
Na primjer,
var x = 2; var y = 3; If(xAko je gornji uvjet ‘x Logička varijabla može se stvoriti pomoću funkcije Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Također, logički objekt može se stvoriti pomoću novog operatora na sljedeći način:
var myobj = new Boolean(true);
(II) Ništa :Ovo je vrsta podataka koja je predstavljena samo jednom vrijednošću, samom 'nulom'. Nulta vrijednost znači da nema vrijednosti.
Na primjer,
var x = null; console.log(x);// This returns null
Ako provjerimo vrstu podataka a koristeći typeof operator, dobit ćemo:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Nedefinirano: Ovaj tip podataka znači varijablu koja nije definirana. Varijabla je deklarirana, ali ne sadrži nikakvu vrijednost.
Na primjer,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Promjenjiva 'a' je proglašena, ali još joj nije dodijeljena vrijednost.
Vrijednost možemo dodijeliti:
(iv) Broj: Ovaj tip podataka može biti vrijednost s pomičnom zarezom, cijeli broj, eksponencijalna vrijednost, 'NaN' ili 'Beskonačnost'.
Na primjer,
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
Brojevni literal može se stvoriti pomoću funkcije Number ():
var x = Number(10); console.log(x);// This returns 10
Također, objekt broja može se stvoriti pomoću operatora ‘new’ kako slijedi:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Ovo je numerički primitiv koji može predstavljati cijele brojeve s proizvoljnom preciznošću. BigInt se stvara dodavanjem n na kraj cijelog broja
Na primjer,
const x = 15n;
Broj se može pretvoriti u BigInt pomoću funkcije BigInt (broj).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Niz: Ova vrsta podataka koristi se za predstavljanje tekstualnih podataka.
Na primjer,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Novi niz također se može stvoriti pomoću funkcije String () na sljedeći način:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Funkcija String () također se koristi za pretvaranje vrijednosti koja nije niz u niz.
String(150); // This statement will create a string ‘150’
String se također može stvoriti pomoću 'novi' operater
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 nizovi su nepromjenjivi, tj. Kad se niz stvori, ne može se mijenjati. No, drugi se niz može stvoriti operacijom na izvornom nizu.
Na primjer,
- Spajanjem dva niza pomoću operatora spajanja (+) ili String.concat () .
- Dobivanjem podniza pomoću String.substr () .
(vii) Simbol: Ovo je jedinstvena i nepromjenjiva primitivna vrijednost i koristi se kao ključ svojstva Objekta. Simboli su novi u JavaScriptu u ECMAScript 2015
DO Simbol vrijednost predstavlja jedinstveni identifikator.
Na primjer,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Dakle, mnogi su simboli stvoreni s istim opisom, ali s različitim vrijednostima.
Simboli se ne mogu automatski pretvoriti.
Na primjer,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
To se može raditi pomoću toString () kako slijedi:
alert(symVar1.toString()); // Symbol(symVar1), this works
Vrsta podataka o objektu
Objekt je vrijednost u memoriji na koju upućuje identifikator.
Objekt se odnosi na strukturu podataka koja sadrži podatke i upute za rad s podacima. Predmeti se ponekad odnose na stvari iz stvarnog svijeta, Na primjer, zaposlenik ili automobil.
Na primjer,
U JavaScript objektima vrijednosti se zapisuju kao ime: vrijednost parovi kao dolje:
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' };
The ime: vrijednosti nazivaju se parovi Svojstva . Na primjer, 'Tip' je vlasništvo, a 'BMW' je vrijednost imovine.
Vrijednostima svojstava pristupa se pomoću objectName.propertyName
ili objectName (“propertyName”)
Na primjer, car1.type ili car1 ('tip'), vraća 'BMW'
Vrijednost objekta car1 može se promijeniti na sljedeći način:
car1.type = “Audi”;
Sada,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
P # 35) Je li JavaScript jezik koji razlikuje velika i mala slova?
Odgovor: Da, JavaScript je jezik osjetljiv na velika i mala slova. Značenje su ključne riječi jezika, varijable, nazivi funkcija i bilo koji drugi identifikatori koji se uvijek moraju upisivati dosljednim velikim ili malim slovima.
Na primjer, myVar je različita varijabla od myvar.
P # 36) Kako odrediti kojem tipu podataka pripada operand?
Odgovor: Tip podataka operanda može se pronaći pomoću operatora typeof
Vraća niz koji označava vrstu operanda.
Sintaksa : vrsta operanda
typeof (operand)
Operand može biti bilo koja varijabla, objekt ili funkcija.
Na primjer,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
P # 37) Zašto se JavaScript naziva labavim tipom ili dinamičnim jezikom?
Odgovor: JavaScript se naziva labavo otkucanim ili dinamičkim jezikom, jer JavaScript varijable nisu izravno povezane s bilo kojom vrstom vrijednosti i bilo kojoj varijabli se mogu dodijeliti i dodijeliti vrijednosti svih vrsta:
Na primjer,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
P # 38) Što je null u JavaScript-u?
Odgovor: Vrijednost null predstavlja namjerno odsustvo bilo koje vrijednosti objekta.
Ovo je jedna od primitivnih vrijednosti JavaScript-a.
Na primjer,
Var myvar = null; console.log(myvar); //This will print null
P # 39) Što je NaN?
Odgovor: NaN je svojstvo globalnog objekta koji predstavlja Not-A-Number.
Na primjer,
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) Kako podijeliti niz na stavke niza?
Odgovor: Niz se može podijeliti u niz pomoću JavaScript split () metode. Ova metoda uzima jedan parametar, znak na kojem želite odvojiti niz, i vraća podnizove između separatora kao stavke u nizu.
Na primjer,
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) Kako spojiti stavke niza u niz?
Odgovor: Stavke niza mogu se pridružiti metodom join ().
Na primjer,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Stavke niza spojene su u niz kako slijedi:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
P # 42) Koju vrstu pogrešaka ima JavaScript?
Odgovor: Slijede 2 vrste pogrešaka:
- Sintaksne pogreške: To su pogreške u upisu ili pogreške u pravopisu u kodu zbog kojih se program uopće ne može pokrenuti ili prestati raditi na pola. Obično se pružaju i poruke o pogreškama.
- Logičke pogreške: To su pogreške kada je sintaksa točna, ali logika ili kôd nisu točni. Ovdje se program uspješno izvodi bez grešaka. Ali izlazni rezultati nisu točni. Često ih je teže popraviti nego sintaksne pogreške jer ti programi ne daju nikakve poruke o pogreškama zbog logičkih pogrešaka.
P # 43) Kako učinkovito riješiti velik broj izbora za jedan uvjet put?
Odgovor: To se radi pomoću naredbi switch:
Na primjer,
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) Što je ternarni operator?
Odgovor: Ternarni ili uvjetni je operator koji se koristi za brzi odabir između dvije opcije na temelju istinitog ili lažnog testa.
To se može koristiti kao zamjena za blok if ... else kada se imaju dva izbora koja se biraju između istinitog / lažnog stanja.
Na primjer,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Isti se kôd može napisati pomoću ternarnog operatora u jednoj izjavi kako slijedi:
rezultat = (uvjet)? ‘rezultat 1’: ‘rezultat 2’;
P # 45) Pretpostavimo da postoji objekt koji se naziva osoba
const osoba = {
Ime : {
prvo: 'Bob',
zadnji: ‘Smith’
}
};
Koji je od sljedećeg ispravan način pristupanja svojstvu objekta „prvi“?
- person.name.first,ili
- osoba (‘ime’) (‘prvo’)?
Odgovor: Oba su točna načina. tj. pomoću točaka poput person.name.first ili pomoću nosača zagrada poput person (‘name’) (‘first’)
P # 46) Što je 'ovo'?
Odgovor: Ključna riječ ‘this’ odnosi se na trenutni objekt u koji je kod zapisan.
To je osiguravanje korištenja ispravnih vrijednosti kada se promijeni kontekst člana
Na primjer, postoje dva različita slučaja a osoba s različitim imenima i potrebno je ispisati vlastito ime u upozorenju na sljedeći način:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Ovdje je izlaz Dobro jutro! Ja sam ‘Tom’
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Ovdje je izlaz Dobro jutro! Ja sam 'Jerry'
P # 47) Što su anonimne funkcije?
Odgovor: Anonimne funkcije su funkcije bez ikakvog imena i neće ništa raditi same. Oni se obično koriste zajedno s voditeljem događaja.
Na primjer, u sljedećem kodu, anonimni funkcijski kod, tj. upozorenje (‘Bok’); pokrenuo bi se klikom povezanog gumba:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Anonimna funkcija također se može dodijeliti vrijednosti varijable.
Na primjer,
var myVar = function() { alert('Hi'); }
Ovu funkciju možete pozvati pomoću:
myVar();
Zaključak
JavaScript kodove, CSS i HTML bolje je pohraniti kao zasebne vanjske 'js' datoteke. Odvajanjem dijela kodiranja i HTML dijela olakšat ćete čitanje i rad s njima. Višestrukim programerima također je lakše s ovom metodom raditi istodobno.
JavaScript kod je jednostavan za održavanje. Isti niz JavaScript kodova može se koristiti na više stranica. Ako koristimo vanjske JavaScript kodove i ako moramo promijeniti kôd, onda ga moramo promijeniti na jednom mjestu. Tako da možemo ponovno koristiti kôd i održavati ih na puno lakši način.
Predloženo čitanje = >> TypeScript vs JavaScript
JavaScript kod ima bolje performanse. Vanjske JavaScript datoteke povećat će brzinu učitavanja stranice jer će ih preglednik predmemorirati.
Nadam se da su vam pitanja i odgovori u vezi s intervjuom za JavaScript bili korisni. Vježbajte što više pitanja i budite sigurni u sebe.
Preporučena literatura
- Intervjuirajte pitanja i odgovore
- Top 32 najbolja pitanja i odgovori za intervju za datastage
- Pitanja i odgovori za ispitivanje ETL-a
- Top 20+ .NET intervjua. Pitanja i odgovori
- Neka nezgodna ručna ispitivanja Pitanja i odgovori
- 25 najboljih agilnih testova Intervju pitanja i odgovori
- Spock intervju pitanja s odgovorima (najpopularnije)
- Neka zanimljiva pitanja za ispitivanje softverskog testiranja