top 45 javascript interview questions with detailed answers
Najčastejšie kladené základné a pokročilé otázky týkajúce sa rozhovoru s JavaScriptom s podrobnými odpoveďami pre každého vývojára JavaScript.
Ak sa chystáte na pohovor, tu sú najčastejšie kladené otázky a odpovede týkajúce sa rozhovoru JS.
Navrhli sme to isté, aby sme vás oboznámili s otázkami, s ktorými sa môžete pravdepodobne stretnúť počas technického pohovoru.
Poďme preskúmať !!
O JavaScripte
JavaScript je programovací jazyk na vysokej úrovni, v súčasnosti pravdepodobne jeden z najbežnejších programovacích jazykov na svete. Môže sa použiť na programovanie webových prehľadávačov alebo dokonca serverov.
Ak chcete pochopiť dôležitosť JavaScriptu, deaktivujte vo svojom prehliadači JavaScript a skúste doň načítať webovú stránku. Tieto webové stránky nebudú fungovať správne. Mnoho obsahu v nich sa môže správať nesprávne. Takmer všetky moderné prehliadače používajú kombináciu JavaScriptu, CSS a HTML.
JavaScript je interpretovaný programovací jazyk. Tlmočník je zabudovaný v prehliadačoch ako Google Chrome, Microsoft Internet Explorer atď. S jeho kódom tak môže manipulovať JavaScriptový modul prehliadača.
JavaScript sa objavil v decembri 1995 a pôvodne sa volal LiveScript, aj keď sa názov čoskoro zmenil z marketingových dôvodov. Nemali by ste si ho mýliť s výrazom „Java“, ktorý sa tiež trochu podobá, ale je to úplne iný jazyk.
Najčastejšie otázky na rozhovor s JavaScriptom
Otázka 1) Čo je to JavaScript?
Odpoveď: JavaScript je skriptovací jazyk vyvinutý spoločnosťou Netscape. Môže sa použiť na programovanie webových prehľadávačov alebo dokonca serverov. Môže dynamicky aktualizovať obsah webovej stránky, čo je krása tohto jazyka.
Otázka 2) Aké sú výhody použitia externého JavaScriptu?
Odpoveď: Používanie externého JavaScriptu v našom kóde má veľa výhod.
Tieto sú uvedené nižšie.
- Oddelenie kódu je hotové.
- Udržiavanie kódu je jednoduché.
- Výkon je lepší.
Otázka č. 3) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba, vysvetlite ju?
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 je r : Tento kód nebude produkovať žiadne chyby. Redeklácia premenných je povolená v JavaScripte. Po vykonaní príkazu tu sa teda hodnota premennej nestratí.
Otázka č. 4) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
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 ;
Odpoveď: Tento kód nebude zobrazovať žiadne chyby!
Výstup útržku kódu:
Prvá premenná suma je: 70 Sajeesh Sreeni
Druhá premenná suma je: Sajeesh Sreeni 5020
Otázka č. 5) Aký je rozdiel medzi metódami test () a exec ()?
Odpoveď: Test () aj exec () sú expresné metódy RegExp.
Použitím a test () , vyhľadáme reťazec pre daný vzor, ak nájde zodpovedajúci text, vráti boolovskú hodnotu „true“ alebo vráti „false“.
Ale v exec () , vyhľadáme reťazec pre daný vzor, ak nájde zodpovedajúci text, vráti samotný vzor alebo vráti hodnotu „null“.
Otázka č. 6) Aké sú výhody JavaScriptu?
Odpoveď: Tento skriptovací jazyk má mnoho výhod, ktoré sú uvedené nižšie.
- Ľahká váha: Je ľahké ho implementovať. Má malé pamäťové stopy.
- Vykladané: Je to tlmočený jazyk. Pokyny sa vykonávajú priamo.
- Objektovo orientovaný: Je to objektovo orientovaný jazyk.
- Prvotriedne funkcie: V JavaScripte možno funkciu použiť ako hodnotu.
- Skriptovací jazyk: Je to jazyk, v ktorom sú pokyny napísané pre prostredie run-time.
Otázka č. 7) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Odpoveď: Premenná „const“ „first_num“ sa neinicializuje s hodnotou, takže kód spôsobí syntaktickú chybu.
Výstup útržku kódu:
Chyba: Uncaught SyntaxError: Chýbajúci inicializátor v deklarácii const
Otázka č. 8) Použili ste na ladenie nejaký prehliadač? Ak áno, ako sa to robí?
Odpoveď: Stlačením klávesu „F12“ na klávesnici môžeme povoliť ladenie v prehliadači. Kliknutím na kartu „Konzola“ zobrazíte výsledky.
V konzole môžeme nastavovať zarážky a zobrazovať hodnotu v premenných. Všetky moderné prehľadávače majú zabudovaný debugger (Napríklad: Chrome, Firefox, Opera a Safari ) . Túto funkciu je možné zapnúť a vypnúť.
Otázka č. 9) Na čo sa používa kľúčové slovo „debugger“ v kóde JavaScript?
Odpoveď: Používanie kľúčového slova „debugger“ v kóde je ako použitie zarážok v debuggeri.
Na otestovanie kódu musí byť v prehliadači povolený ladiaci program. Ak je v prehliadači zakázané ladenie, kód nebude fungovať. Počas ladenia kódu by sa mala zvyšná časť prestať vykonávať skôr, ako prejde na ďalší riadok.
Otázka č. 10) Aké sú odlišné typy hodnôt chybových mien?
Odpoveď: Vo vlastníctve „Názov chyby“ je 6 typov hodnôt.
Chyba | Popis |
---|---|
Chyba rozsahu | Túto chybu dostaneme, ak použijeme číslo mimo rozsahu |
Chyba syntaxe | Táto chyba sa zvyšuje, keď používame nesprávnu syntax. (Prečítajte si otázku č. 7) |
Referenčná chyba | Táto chyba sa hodí, ak sa použije nedeklarovaná premenná. Prečítajte si otázku č. 19 |
Eval Error | Vyhodené kvôli chybe v eval (). Nová verzia JavaScriptu túto chybu neobsahuje |
Chyba typu | Hodnota je mimo rozsah použitých typov. Prečítajte si otázku č. 22 |
Chyba URI | Z dôvodu použitia nelegálnych znakov. |
Otázka č. 11) Čo je to zdvíhanie JavaScriptu?
Odpoveď: Pri použití metódy „Zdvihnutie JavaScriptu“, keď tlmočník spustí kód, sa všetky premenné zdvihnú na začiatok pôvodného / súčasného rozsahu. Ak máte kdekoľvek v kóde deklarovanú premennú, presunie sa na začiatok.
Táto metóda je použiteľná iba na vyhlásenie premennej a nie je použiteľná na inicializáciu premennej. Funkcie sa tiež zdvíhajú navrchu, zatiaľ čo vysvetlenie funkcií nie je zdvihnuté navrchu.
V zásade nezáleží na tom, kde sme deklarovali premennú vo vnútri kódu.
Otázka č. 12) Čo je „prísny režim“ JavaScriptu?
Odpoveď: „Prísny režim“ je obmedzený variant kódu JavaScript. Tento jazyk zvyčajne nie je „príliš strohý“ pri vyhadzovaní chýb. V „prísnom režime“ však spôsobí všetky typy chýb, dokonca aj tiché chyby. Proces ladenia sa tak stáva jednoduchším. A šanca urobiť chybu pre vývojára je znížená.
Otázka č. 13) Aké sú vlastnosti prísneho režimu JavaScriptu?
Odpoveď: Ďalej sú uvedené vlastnosti „prísneho režimu“:
- „Prísny režim“ zastaví vývojárov vo vytváraní globálnych premenných.
- Vývojári majú zakázané používať duplicitné parametre.
- Prísny režim vám zabráni používať kľúčové slovo JavaScript ako názov premennej alebo názov funkcie.
- Prísny režim je deklarovaný kľúčovým slovom „use strict“ na začiatku skriptu.
- Všetky prehľadávače podporujú prísny režim.
Otázka č. 14) Čo sú funkcie vyvolávajúce seba?
Odpoveď: Sú tiež známe ako „Okamžite vyvolané funkčné výrazy“ alebo „Samovykonávajúce anonymné funkcie“. Tieto funkcie sa v kóde vyvolávajú automaticky, a preto sa nazývajú „Self Invoking Functions“.
Zvyčajne definujeme funkciu a vyvoláme ju, ale ak chceme funkciu vykonať automaticky tam, kde je to vysvetlené, a ak ju nebudeme volať znova, môžeme použiť anonymné funkcie. A tieto typy funkcií nemajú názov.
Otázka č. 15) Aká je syntax funkcie „Self Invoking Function“? Uveďte príklad?
Odpoveď:
Syntax funkcie Self-Invoking:
(function () { return () } () ;
Posledná zátvorka „()“ v syntaxi uvádza, že ide o funkčný výraz.
Príklad samostatne vyvolaných funkcií:
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'; }());
Tu sa anonymná funkcia automaticky vyvolá v útržku kódu.
Funkcia sa používa na nastavenie textovej vlastnosti súboru
značka s ‘display_num’ ako Id.
Výstup útržku kódu:
Táto funkcia nemá názov.
Volá sa automaticky
Otázka č. 16) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
Odpoveď:
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
Prečítajte si predchádzajúci Q # 11, ako je tam vysvetlené, tlmočník presunie všetky deklarované premenné okrem inicializácie na začiatok.
Z tohto dôvodu sa premenná ‘first_num’ berie na vrchol a premenná ‘second_num’ sa inicializuje s hodnotou, takže sa neberie na vrchol. Tento kód nebude spôsobovať chybu. Ale hodnota ‘second_num’ nie je definovaná.
Výstup útržku kódu:
Tu sa premenná first_num: 100 vezme na vrchol
Pretože je druhá premenná inicializovaná, hodnota sa neberie na začiatok a jej hodnota nie je definovaná
Otázka 17) Ak potrebujete skryť kód JavaScript pred staršími verziami prehľadávača, ako ho vykonáte?
Odpoveď: V kóde pridajte za značku „
Toto prehliadaču neumožní spustiť kód JavaScript, ak išlo o jeho staršiu verziu. Za koncovú značku tiež pridajte značku HTML „// ->“.
Táto metóda pomôže do istej miery vyriešiť problémy s kompatibilitou a používateľským rozhraním.
Sample: Software Testing Help
Tu sa fragment kódu po vykonaní značky v mojom prehliadači, pretože nepoužívam staršiu verziu prehliadača.
Výstup útržku kódu:
Tu nepoužívam staršiu verziu prehliadača.
Takže kód bude fungovať v mojom prehliadači
Otázka č. 18) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba, vysvetlite ju?
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();
Odpoveď: V kóde uvedenom vyššie nebude hodnota premennej ‘first_num’ 1 000.
V JavaScripte neexistuje zdvíhanie pre inicializáciu premennej. Funkcia ‘result ()‘ vyberie lokálnu premennú ‘first_num’, ako je deklarovaná vo vnútri funkcie. Pretože je premenná deklarovaná po jej použití, hodnota „first_num“ je nedefinovaná.
Výstup útržku kódu:
Nedefinované
Otázka č. 19) Aký je rozdiel medzi kľúčovým slovom „var“ a „let“?
Odpoveď: Rozdiely sú nasledujúce:
Kde | nechajme |
---|---|
Kľúčové slovo „var“ bolo zavedené do kódu JavaScript od začiatku samotnej fázy. | Kľúčové slovo „let“ je zavedené až v roku 2015. |
Kľúčové slovo „Var“ má rozsah funkcií. Premenná definovaná pomocou var je k dispozícii kdekoľvek v rámci funkcie | Premenná deklarovaná kľúčovým slovom „let“ má rozsah iba s v tomto bloku. Takže poďme mať blok rozsahu. |
Premenná deklarovaná ako „var“ sa zdvíha | Premenná deklarovaná s reťazcom „nechajme“ |
Otázka č. 20) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
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;
Odpoveď:
Výstup útržku kódu:
najprv Číslo: 1 000
Dostaneme 'Najprv Číslo: 1 000 ' ako výstup. Vyskytla sa tiež chyba „Uncaught Reference Error“.
V útržku kódu je rozsah parametra „second_num“ iba v rámci bloku if (). Ak sa vývojár pokúsi získať prístup k hodnote mimo bloku, zobrazí sa mu „Uncaught Reference error“.
Nezachytená referenčná chyba: second_num nie je definované.
Otázka č. 21) Aký je rozdiel medzi „==“ a „===“?
Odpoveď: „==“ a „===“ sú operátory porovnania.
Operátor ‘==’ | Operátor ‘===’ |
---|---|
Je známy ako „operátor prevádzajúci typy“ | Je známy ako „operátor prísnej rovnosti“. |
Porovnáva hodnotu, neporovnáva typ | Porovnáva hodnotu aj typ. |
Otázka č. 22) Aký je rozdiel medzi „let“ a „const“?
Odpoveď: Rozdiely sú nasledujúce:
nechajme | konšt |
---|---|
pomocou 'let' môžeme hodnotu premennej meniť koľkokrát | pomocou ‘const’ nemôžeme po prvom priradení hodnoty hodnotu znovu definovať |
Zvážte kód { nech first_num = 1; first_num = 2; dokument. write (first_num); } Tu bude kód poskytovať výstup, pretože je možná zmena hodnoty first_num. | Zvážte kód { const second_num = 1; second_num = 2; dokument. write (druhé_číslo); } Tu bude kód spôsobovať chybu, pretože ‘second_num’ je priradená druhá hodnota. |
Otázka č. 23) V nasledujúcom úryvku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
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;
Odpoveď: Pred ďalším čítaním si prečítajte otázku č. 21
Výstup útržku kódu:
Prvé číslo: 501
Počas spustenia kódu sa tiež vyskytne chyba, pretože sa pokúšame zmeniť hodnotu premennej „const“.
Chyba: Uncaught TypeError: Priradenie ku konštantnej premennej.
Otázka č. 24) Aký je rozdiel medzi „null“ a „undefined“?
Odpoveď: Obidve kľúčové slová predstavujú prázdne hodnoty .
Rozdiely sú:
- V stĺpci „undefined“ definujeme premennú, ale tejto premennej jej nepriradíme žiadnu hodnotu. Na druhej strane v ‘null’ definujeme premennú a premennej priradíme hodnotu ‘null’.
- typ (nedefinované) a typ (nulového) objektu.
Otázka č. 25) Aký je rozdiel medzi „deklaráciou funkcie“ a „výrazom funkcie“?
Odpoveď: Možno to vysvetliť na príklade:
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);
Ako je uvedené v príklade, add () je deklarácia funkcie a subtract () je výraz funkcie. Syntax vyhlásenia funkcie je ako funkcia uložená do premennej.
Deklarácie funkcií sa zdvíhajú, ale výrazy funkcií sa nezdržiavajú.
pl sql rozhovor otázky a odpovede
Otázka č. 26) Čo sú „settimeout ()“?
Odpoveď: Bude to lepšie vysvetlené na príklade.
Zvážte útržok kódu
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Výstup útržku kódu:
Prvá línia
Druhý riadok
Tretí riadok
Teraz predstavíte metódu settimeout () a zabalíte do nej rovnakú sadu kódu.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Výstup útržku kódu:
Druhý riadok
Tretí riadok
Prvá línia
So zavedením settimeout () sa procesy stávajú asynchrónnymi. Prvé príkazy, ktoré sa vložia do zásobníka, sú Console.log („Druhý riadok“) a Console.log („Tretí riadok“), ktoré sa vykonajú ako prvé. Musíte počkať, kým sa najskôr nevypracuje všetko v zásobníku.
Aj keď je časový limit „0“, neznamená to, že sa vykoná okamžite.
Otázka č. 27) Čo je to uzáver a ako ho používate?
Odpoveď: Uzáver je vnútorná funkcia. Má prístup k vonkajším premenným funkcie. V závere v rámci funkcie_1 je ďalšia funkcia_2, ktorá vracia hodnotu „A“ a funkcia_1 tiež vracia hodnotu; povedzte „B“.
Sum () je tu vonkajšia funkcia a add () je vnútorná funkcia, ktorá má prístup k všetkým premenným vrátane premenných ‘first_num’ ‘second_num‘ a ‘third_num‘. Vonkajšia funkcia volá vnútornú funkciu 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));
Výstup útržku kódu:
Výsledok je: 500
Otázka č. 28) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
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; }
Odpoveď: Príkazy na priradenie sa posudzujú sprava doľava.
Výstup útržku kódu:
x = 200
a: 200
s: 200
p: 200
q: 200
Otázka č. 29) Môžete uviesť príklad, keď útržok kódu zobrazuje rozdiel medzi metódami test () a 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; }
Odpoveď: Toto je príklad metódy test () a exec (), ďalšie podrobnosti nájdete v otázke č. 5.
Výstup útržku kódu:
Nájdený vzor pomocou exec (): How
Výsledkom testu () je výsledok: true
Otázka 30) Môžete uviesť príklad zobrazujúci zdvíhanie JavaScriptu?
Odpoveď:
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
Viac podrobností nájdete v Q # 11.
Tu sa používa premenná „num“ pred jej vyhlásením. Zdvíhanie pomocou JavaScriptu to však umožní.
Výstup útržku kódu:
Tu sa používajú premenné pred ich vyhlásením.
Hodnota premennej je 100
Otázka č. 31) Môžete uviesť príklad znázorňujúci použitie kľúčového slova „debugger“ v kóde JavaScript?
Odpoveď:
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;
Poznámka: Aby mohol prehliadač testovať kód, musí byť povolený ladiaci program. Ďalšie informácie nájdete v otázke č. 5
Toto je príklad ladenia kľúčového slova (použitý prehliadač: Chrome)
Výstup útržku kódu:
Tu na otestovanie kódu musí byť v prehliadači povolený ladiaci program,
počas ladenia by sa mal kód uvedený nižšie zastaviť skôr, ako prejde na ďalší riadok.
Pridávajú sa čísla ...
Pokračujte výberom možnosti „Obnoviť vykonávanie skriptov“:
Súčet čísel: 1500
Otázka č. 32) V nasledujúcom útržku kódu môžete predpovedať výstup alebo Ak sa vyskytne chyba; prosím vysvetlite chybu?
Sample: Software Testing Help
Example Type Converting
var first_num =500; var first_name='500'; if(first_num == first_name){ document.getElementById('display').innerHTML = 'Comparison will return 'true' by Type converting Operator '; }
Odpoveď: Zvážte kód
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
Výstup útržku kódu:
Porovnanie vráti operátor prevádzajúci typ „true“
Otázka č. 33) Sú si Java a JavaScript podobné? Ak nie, aký je rozdiel medzi jazykmi Java a JavaScript?
Odpoveď:
Sl č | Java | JavaScript |
---|---|---|
jeden | Java je univerzálny programovací jazyk. | JavaScript je interpretovaný skriptovací jazyk na vysokej úrovni. |
dva | Java je založená na koncepciách objektovo orientovaného programovania (OOPS). | JavaScript je objektovo orientovaný aj funkčný skript. |
3 | Beží v prostredí Java Virtual Machine (JVM) alebo v prehliadači. | Beží iba v prehliadači. |
4 | Kód Java je potrebné zostaviť ako súbor triedy Java. | JavaScript nemá žiadny krok kompilácie. Namiesto toho tlmočník v prehliadači prečíta kód JavaScript, interpretuje každý riadok a spustí ho. |
Stručne povedané, tieto jazyky vôbec nie sú navzájom prepojené ani od seba závislé.
Otázka č. 34) Ktoré typy údajov podporuje JavaScript?
Odpoveď: JavaScript podporuje nasledujúce Sedem primitívne dátové typy a Objekt :
i) Boolean: Toto je logický dátový typ, ktorý môže mať iba dve hodnoty, tj. True alebo false. Keď pomocou operátora typeof skontrolujeme dátový typ „true“ alebo „false“, vráti boolovskú hodnotu.
Napríklad, typeof (true) // vráti boolean
Logické hodnoty možno použiť na porovnanie dvoch premenných.
Napríklad,
var x = 2; var y = 3; x==y //returns false
Boolovskú hodnotu možno použiť aj na kontrolu stavu
Napríklad,
var x = 2; var y = 3; If(xAk vyššie uvedená podmienka „x Boolovskú premennú je možné vytvoriť pomocou funkcie Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Booleovský objekt je tiež možné vytvoriť pomocou nového operátora nasledovne:
var myobj = new Boolean(true);
(II) Null :Toto je dátový typ, ktorý je reprezentovaný iba jednou hodnotou, a to samotnou nulou. Nulová hodnota znamená žiadnu hodnotu.
Napríklad,
var x = null; console.log(x);// This returns null
Ak skontrolujeme dátový typ a pomocou operátora typeof, dostaneme:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Nedefinované: Tento dátový typ znamená premennú, ktorá nie je definovaná. Premenná je deklarovaná, ale neobsahuje žiadnu hodnotu.
Napríklad,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Premenná „a“ bola deklarovaná, ale zatiaľ jej nebola pridelená hodnota.
Môžeme priradiť hodnotu k:
(iv) Počet: Týmto dátovým typom môže byť hodnota s pohyblivou rádovou čiarkou, celé číslo, exponenciálna hodnota, hodnota „NaN“ alebo „nekonečno“.
Napríklad,
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
Číselný literál je možné vytvoriť pomocou funkcie Number ():
var x = Number(10); console.log(x);// This returns 10
Číselný objekt je tiež možné vytvoriť pomocou operátora „new“ takto:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Toto je číselný primitív, ktorý môže predstavovať celé čísla s ľubovoľnou presnosťou. BigInt sa vytvorí pripojením n na koniec celého čísla
Napríklad,
const x = 15n;
Číslo je možné previesť na BigInt pomocou funkcie BigInt (číslo).
const x = 251; const y = BigInt(x); y === 251n // returns true
vi) reťazec: Tento dátový typ sa používa na reprezentáciu textových údajov.
Napríklad,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Nový reťazec je možné vytvoriť aj pomocou funkcie String () nasledovne:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Funkcia String () sa používa aj na prevod hodnoty bez reťazca na reťazec.
String(150); // This statement will create a string ‘150’
Reťazec je možné vytvoriť aj pomocou 'Nový' operátor
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?’
Reťazce JavaScript sú nemenné, t. J. Po vytvorení reťazca ich nie je možné upraviť. Ale iný reťazec je možné vytvoriť pomocou operácie s pôvodným reťazcom.
Napríklad,
- Zreťazením dvoch reťazcov pomocou operátora zreťazenia (+) alebo String.concat () .
- Získaním podreťazca pomocou String.substr () .
vii) Symbol: Toto je jedinečná a nemenná primitívna hodnota, ktorá sa používa ako kľúč vlastnosti Object. Symboly sú pre JavaScript v ECMAScript 2015 nové
TO Symbol hodnota predstavuje jedinečný identifikátor.
Napríklad,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Takže veľa symbolov je vytvorených s rovnakým popisom, ale s rôznymi hodnotami.
Symboly nemožno prevádzať automaticky.
Napríklad,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
S týmto sa dá pracovať natiahnuť () nasledovne:
alert(symVar1.toString()); // Symbol(symVar1), this works
Dátový typ objektu
Objekt je hodnota v pamäti, na ktorú odkazuje identifikátor.
Objekt označuje dátovú štruktúru, ktorá obsahuje údaje a pokyny na prácu s údajmi. Objekty niekedy odkazujú na veci zo skutočného sveta, Napríklad, zamestnanec alebo auto.
Napríklad,
V objektoch JavaScript sú hodnoty zapísané ako meno: hodnota páry ako je uvedené nižšie:
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 meno: hodnoty páry sa volajú vlastnosti . Napríklad, „Typ“ je nehnuteľnosť a „BMW“ je hodnota nehnuteľnosti.
K hodnotám vlastností sa pristupuje pomocou objectName.propertyName
alebo objectName („propertyName“)
Napríklad, car1.type alebo car1 („type“), vráti „BMW“
Hodnotu objektu car1 je možné zmeniť nasledovne:
car1.type = “Audi”;
Teraz,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
Otázka č. 35) Je v jazyku JavaScript rozlišovaná veľká a malá písmena?
Odpoveď: Áno, JavaScript rozlišuje veľké a malé písmená. To znamená kľúčové slová jazyka, premenné, názvy funkcií a akékoľvek ďalšie identifikátory, ktoré musia byť vždy písané konzistentnými veľkými a malými písmenami.
Napríklad, myVar je iná premenná ako myvar.
Otázka č. 36) Ako zistiť, do ktorého dátového typu operand patrí?
Odpoveď: Dátový typ operandu nájdete pomocou operátora typeof
Vráti reťazec označujúci typ operandu.
Syntax : typ operandu
typ (operand)
Operand môže byť akákoľvek premenná, objekt alebo funkcia.
Napríklad,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Otázka č. 37) Prečo sa JavaScript nazýva ako voľne písaný alebo dynamický jazyk?
Odpoveď: JavaScript sa nazýva ako voľne písaný alebo dynamický jazyk, pretože premenné kódu JavaScript nie sú priamo spojené so žiadnym typom hodnoty a akejkoľvek premennej je možné priradiť a znova priradiť hodnoty všetkých typov:
Napríklad,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Otázka č. 38) Čo je v jazyku JavaScript nulové?
Odpoveď: Hodnota null predstavuje zámernú absenciu akejkoľvek hodnoty objektu.
Toto je jedna z primitívnych hodnôt JavaScriptu.
Napríklad,
Var myvar = null; console.log(myvar); //This will print null
Otázka č. 39) Čo je NaN?
Odpoveď: NaN je vlastnosť globálneho objektu predstavujúca Not-A-Number.
Napríklad,
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
Otázka č. 40) Ako rozdeliť reťazec na položky poľa?
Odpoveď: Reťazec je možné rozdeliť do poľa pomocou metódy JavaScript split (). Táto metóda má jediný parameter, znak, od ktorého chcete reťazec oddeliť, a vráti podreťazce medzi oddeľovačom ako položky v poli.
Napríklad,
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
Otázka č. 41) Ako spojiť položky poľa do reťazca?
Odpoveď: Položky poľa je možné spojiť pomocou metódy join ().
Napríklad,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Položky poľa sú spojené do reťazca nasledovne:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Otázka č. 42) Aký typ chýb má JavaScript?
Odpoveď: Nasledujú dva typy chýb:
- Chyby syntaxe: Toto sú preklepy alebo chyby v pravopise kódu, ktoré spôsobia, že program nebude vôbec fungovať alebo že prestane fungovať čiastočne. Spravidla sa poskytujú aj chybové správy.
- Logické chyby: Ak je syntax správna, jedná sa o chyby, ale logika alebo kód sú nepresné. Tu program beží úspešne bez chýb. Ale výstupné výsledky sú nesprávne. Tieto chyby sa často opravujú ťažšie ako syntaktické chyby, pretože tieto programy neposkytujú žiadne chybové správy týkajúce sa logických chýb.
Otázka č. 43) Ako efektívne zvládnuť veľké množstvo možností pre jednu podmienku spôsob?
Odpoveď: To sa deje pomocou príkazov switch:
Napríklad,
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 }
Otázka č. 44) Čo je ternárny operátor?
Odpoveď: Ternárny alebo podmienený je operátor, ktorý sa používa na rýchlu voľbu medzi dvoma možnosťami na základe pravdivého alebo nepravdivého testu.
To môže byť použité ako náhrada za blok ... else, keď máte dve možnosti, ktoré sú vybrané medzi stavom true / false.
Napríklad,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Rovnaký kód je možné zapísať pomocou ternárneho operátora v jednom príkaze takto:
result = (podmienka)? ‘result 1’: ‘result 2’;
Otázka č. 45) Predpokladajme, že existuje objekt, ktorý sa nazýva osoba
konštantná osoba = {
názov : {
prvý: „Bob“,
posledný: „Smith“
}
};
Ktorý z nasledujúcich je správny spôsob prístupu k vlastnosti objektu „prvý“?
- osoba.name.prva,alebo
- osoba („meno“) („prvý“)?
Odpoveď: Oba sú správne spôsoby. tj. použitie bodiek ako osoba.názov.prvý alebo použitie zátvoriek ako osoba (‘meno’) (‘prvý’)
Otázka 46) Čo je to „toto“?
Odpoveď: Kľúčové slovo „toto“ odkazuje na aktuálny objekt, do ktorého sa kód píše.
To zaisťuje, že sa pri zmene kontextu člena použijú správne hodnoty
Napríklad, existujú dva rôzne prípady a osoba majú rôzne mená a je potrebné v upozornení vytlačiť ich vlastné meno:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Tu je výstup Dobré ráno! Som ‘Tom’
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Tu je výstup Dobré ráno! Som ‘Jerry’
Otázka č. 47) Čo sú anonymné funkcie?
Odpoveď: Anonymné funkcie sú funkcie bez toho, aby mali akýkoľvek názov, a sami nič neurobia. Spravidla sa používajú spolu s obsluhou udalosti.
Napríklad, v nasledujúcom kóde anonymný funkčný kód, tj. výstraha („Hi“); sa spustí po kliknutí na príslušné tlačidlo:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
K hodnote premennej je možné priradiť aj anonymnú funkciu.
Napríklad,
var myVar = function() { alert('Hi'); }
Túto funkciu je možné vyvolať pomocou:
myVar();
Záver
Je lepšie ukladať kódy JavaScript, CSS a HTML ako samostatné externé súbory „js“. Oddelenie kódovacej časti a časti HTML uľahčí ich čítanie a prácu s nimi. Pre viacerých vývojárov je tiež jednoduchšie pracovať s touto metódou súčasne.
JavaScriptový kód je nenáročný na údržbu. Rovnaká sada kódov JavaScript môže byť použitá na viacerých stránkach. Ak používame externé kódy JavaScript a ak potrebujeme zmeniť kód, musíme ho zmeniť na jednom mieste. Aby sme mohli kód znova použiť a udržiavať ich oveľa jednoduchším spôsobom.
Navrhované čítanie = >> Strojopis vs JavaScript
Kód JavaScript má lepší výkon. Externé súbory JavaScript zvýšia rýchlosť načítania stránky, pretože ich prehliadač ukladá do medzipamäte.
Dúfam, že vám Otázky a odpovede týkajúce sa rozhovoru s JavaScriptom boli užitočné. Precvičte si čo najviac otázok a buďte si istí.
Odporúčané čítanie
- Dotazy a odpovede na pohovor
- Top 32 najlepších otázok a odpovedí na rozhovor o údajoch
- ETL Testovacie otázky a odpovede na pohovor
- Top 20+ .NET Interview otázok a odpovedí
- Niektoré zložité otázky a odpovede na ručné testovanie
- 25 najlepších otázok a odpovedí na agilné testovacie pohovory
- Spock Interview Otázky s odpoveďami (najobľúbenejšie)
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru