top 45 javascript interview questions with detailed answers
Най-често задаваните основни и разширени въпроси за интервю за JavaScript с подробни отговори за всеки разработчик на JavaScript.
Ако се подготвяте за интервю, ето най-често задаваните въпроси за JS Interview и отговори за справка.
Същите сме създали, за да ви запознаем с въпросите, които вероятно ще срещнете по време на вашето техническо интервю.
Нека да изследваме !!
Относно JavaScript
JavaScript е език за програмиране на високо ниво, вероятно един от най-използваните езици за програмиране в света в момента. Може да се използва за програмиране на уеб браузъри или дори сървъри.
За да разберете важността на JavaScript, деактивирайте JavaScript в браузъра си и се опитайте да заредите уеб страницата в него. Тези уеб страници няма да работят правилно. Много от съдържанията в тях може да се държат неправилно. Почти всички съвременни браузъри използват комбинацията от JavaScript, CSS и HTML.
JavaScript е интерпретиран език за програмиране. Интерпретатор е вграден в браузъри като Google Chrome, Microsoft Internet Explorer и т.н. Така че неговият код може да се обработва от JavaScript Engine на браузъра.
JavaScript се появява през декември 1995 г. и първоначално се нарича LiveScript, въпреки че името скоро е променено по маркетингови причини. Не бива да се бърка с „Java“, който също има известна прилика, но е съвсем различен език.
Най-често задавани въпроси за интервю за JavaScript
В # 1) Какво е JavaScript?
Отговор: JavaScript е скриптов език, разработен от Netscape. Може да се използва за програмиране на уеб браузъри или дори сървъри. Той може динамично да актуализира съдържанието на уеб страницата, което е красотата на този език.
В # 2) Какви са предимствата от използването на външен JavaScript?
Отговор: Използването на външен JavaScript в нашия код има много предимства.
Те са посочени по-долу.
- Разделянето на кода се извършва.
- Поддържането на кода е лесно.
- Изпълнението е по-добро.
В # 3) В следващия кодов фрагмент можете ли да предскажете изхода или Ако получите грешка, моля, обяснете грешката?
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;
Отговори е r : Този код няма да доведе до грешки. Повторното деклариране на променливите е разрешено в JavaScript. Следователно стойността на променливата няма да бъде загубена след изпълнението на оператора тук.
В # 4) В следния кодов фрагмент можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
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 ;
Отговор: Този код няма да показва грешки!
Изход на кодовия фрагмент:
Първата променлива сума е: 70 Sajeesh Sreeni
Втората променлива сума е: Sajeesh Sreeni 5020
В # 5) Каква е разликата между методите test () и exec ()?
Отговор: И двете test () и exec () са RegExp методи за изразяване.
Чрез използване на тест () , ние ще търсим низ за даден шаблон, ако той намери съответстващия текст, тогава той връща булевата стойност ‘true’ или пък връща ‘false’.
Но в exec () , ние ще търсим низ за даден шаблон, ако той намери съответстващия текст, той връща самия шаблон или иначе връща стойност ‘null’.
В # 6) Какви са предимствата на JavaScript?
Отговор: Този скриптов език има много предимства, както е посочено по-долу.
- Лек: Той е лесен за изпълнение. Той има малки отпечатъци от паметта.
- Интерпретирано: Това е интерпретиран език. Инструкциите се изпълняват директно.
- Обектно-ориентиран: Това е обектно-ориентиран език.
- Първокласни функции: В JavaScript функция може да се използва като стойност.
- Език на скриптове: Това е език, на който са написани инструкции за среда на изпълнение.
В # 7) В следващия кодов фрагмент можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Отговор: Променливата „const“ „first_num“ не се инициализира със стойност, така че кодът ще създаде синтаксична грешка.
Изход на кодовия фрагмент:
Грешка: Uncaught SyntaxError: Липсва инициализатор в const декларацията
В # 8) Използвали ли сте някой браузър за отстраняване на грешки? Ако да, как се прави?
Отговор: Чрез натискане на клавиша ‘F12’ на клавиатурата можем да активираме отстраняване на грешки в браузъра. Изберете раздела „Конзола“, за да видите резултатите.
В Console можем да задаваме точки на прекъсване и да преглеждаме стойността в променливи. Всички съвременни браузъри имат вграден дебъгер с тях (Например: Chrome, Firefox, Opera и Safari ) . Тази функция може да се включва и изключва.
В # 9) Каква е ползата от ключовата дума „дебъгер“ в JavaScript кода?
Отговор: Използването на ключовата дума „дебъгер“ в кода е като използването на точки на прекъсване в дебъгера.
За да тествате кода, дебъгерът трябва да е активиран за браузъра. Ако отстраняването на грешки е деактивирано за браузъра, кодът няма да работи. По време на отстраняване на грешки на кода, останалата част трябва да спре да се изпълнява, преди да премине към следващия ред.
В # 10) Кои са различните видове стойности на имена на грешки?
Отговор: Има 6 типа стойности в свойството „Име на грешка“.
Грешка | Описание |
---|---|
Грешка в обхвата | Ще получим тази грешка, ако използваме число извън диапазона |
Синтактична грешка | Тази грешка възниква, когато използваме неправилния синтаксис. (Моля, вижте въпрос № 7) |
Референтна грешка | Тази грешка се появява, ако се използва недекларирана променлива. Моля, обърнете се към въпрос № 19 |
Грешка в Eval | Хвърлен поради грешката в eval (). Новата версия на JavaScript няма тази грешка |
Тип грешка | Стойността е извън обхвата на използваните типове. Моля, вижте Въпрос №: 22 |
URI грешка | Поради използването на незаконни символи. |
В # 11) Какво представлява JavaScript Hosting?
Отговор: Докато се използва методът „JavaScript Hoisting“, когато интерпретатор изпълнява кода, всички променливи се издигат в горната част на оригиналния / текущия обхват. Ако имате променлива, декларирана навсякъде в кода, тя се извежда на върха.
Този метод е приложим само за деклариране на променлива и не е приложим за инициализиране на променлива. Функциите също са издигнати отгоре, докато обясненията на функциите не са издигнати отгоре.
По принцип, когато декларирахме променливата вътре в кода, няма голямо значение.
В # 12) Какво представлява JavaScript „строг режим“?
Отговор: „Строг режим“ е ограничен вариант на JavaScript. Обикновено този език е „не много строг“ при хвърляне на грешки. Но в „строг режим“ той ще изхвърля всички видове грешки, дори тихите грешки. По този начин процесът на отстраняване на грешки става по-лесен. И шансовете за грешка на разработчика са намалени.
В # 13) Какви са характеристиките на JavaScript „Стриктен режим“?
Отговор: По-долу са дадени характеристиките на „строг режим“:
- „Строг режим“ ще спре разработчиците да създават глобални променливи.
- Разработчиците имат ограничение да използват дублиращи се параметри.
- Стриктният режим ще ви ограничи да използвате ключовата дума JavaScript като име на променлива или функция.
- Строгият режим е деклариран с ключова дума „use strict” в началото на скрипта.
- Всички браузъри поддържат строг режим.
Въпрос # 14) Какво представляват функциите за самопозоваване?
Отговор: Те са известни още като „Незабавно извикани функционални изрази“ или „Самоизпълняващи се анонимни функции“. Тези функции се извикват автоматично в кода, поради което те са именувани като „Функции за самоповикване“.
Обикновено дефинираме функция и я извикваме, но ако искаме да изпълним функция автоматично там, където тя е обяснена, и ако няма да я извикваме отново, можем да използваме анонимни функции. И този тип функции нямат име.
Въпрос # 15) Какъв е синтаксисът на „Функцията за самопозоваване“? Дай пример?
какво мога да направя с c ++
Отговор:
Синтаксисът на функцията Self-Samvoking:
(function () { return () } () ;
Тук последната скоба ‘()’ в синтаксиса гласи, че е израз на функция.
Пример за самоиззвани функции:
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'; }());
Тук анонимната функция се извиква автоматично в кодовия фрагмент.
Функцията се използва за задаване на текстовото свойство на
таг с „display_num“ като Id.
Изход на кодовия фрагмент:
Тази функция няма име.
Извиква се автоматично
Въпрос # 16) В следващия кодов фрагмент, можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
Отговор:
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
Моля, обърнете се към предишното Q # 11, както е обяснено там, интерпретаторът ще отведе всички декларирани променливи с изключение на инициализацията в началото.
Съгласно това, променливата ‘first_num’ се извежда на върха, а променливата ‘second_num’ се инициализира със стойност, така че не се извежда на върха. Този код няма да доведе до грешка. Но стойността на ‘second_num’ е недефинирана.
Изход на кодовия фрагмент:
Тук променливата first_num: 100 се извежда на върха
Тъй като втората променлива е инициализирана, стойността не се извежда на върха и нейната стойност е недефинирана
В # 17) Ако трябва да скриете JavaScript кода от по-старите версии на браузъра, как ще го изпълните?
Отговор: В Код, след маркера, добавете „
Това няма да позволи на браузъра да изпълни JavaScript кода, ако е по-стара версия от него. Също така, след крайния таг добавете ‘// ->’ HTML таг.
Този метод ще помогне до известна степен за решаване на проблеми със съвместимостта и проблеми с потребителския интерфейс.
Sample: Software Testing Help
Тук кодовият фрагмент след таг се изпълнява в моя браузър, тъй като не използвам по-стара версия на браузъра.
Изход на кодовия фрагмент:
Тук не използвам по-стара версия на браузъра.
Така че кодът ще работи в моя браузър
Въпрос # 18) В следния кодов фрагмент можете ли да предскажете изхода или Ако получите грешка, моля, обяснете грешката?
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();
Отговор: Тук в кода, даден по-горе, стойността на променливата ‘first_num’ няма да бъде 1000.
В JavaScript няма издигане за инициализация на променлива. Функцията ‘result ()’ ще избере локалната променлива ‘first_num’, както е декларирана във функцията. Тъй като променливата е декларирана, след като е използвана, стойността на ‘first_num’ е недефинирана.
Изход на кодовия фрагмент:
Неопределено
В # 19) Каква е разликата между ключовата дума „var“ и „let“?
Отговор: Разликите са както следва:
Където | позволявам |
---|---|
Ключовата дума ‘var’ е въведена в JavaScript кода от самото начало на етап. | „Let“ ключовата дума е въведена само през 2015 г. |
Ключовата дума „Var“ има обхват на функцията. Променливата, дефинирана с var, е достъпна навсякъде в рамките на функцията | Променлива, декларирана с ключова дума 'let', има обхват само с в този блок. И така, нека има обхват на блока. |
Променливата, декларирана с „var“, трябва да бъде издигната | Променливата, декларирана с ‘нека’ се повдига |
В # 20) В следния кодов фрагмент можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
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;
Отговор:
Изход на кодовия фрагмент:
Първо Номер: 1000
Ще получим ‘Първо Номер: 1000 ' като изход. Има и грешка ‘Uncaught Reference Error’.
В кодовия фрагмент обхватът на „second_num“ е само в блока if (). Ако разработчик се опита да получи достъп до стойността извън блока, той ще получи ‘Uncaught Reference error’.
Неуловена референтна грешка: second_num не е дефиниран.
В # 21) Каква е разликата между ‘==’ и ‘===’?
Отговор: И „==“, и „===“ са оператори за сравнение.
Оператор ‘==’ | Оператор ‘===’ |
---|---|
Известен е като „Оператор за преобразуване на типове“ | Известен е като „Оператор за стриктно равенство“ |
Сравнява Стойност, не сравнява тип | Той сравнява както стойността, така и типа. |
В # 22) Каква е разликата между ‘let’ и ‘const’?
Отговор: Разликите са както следва:
позволявам | конст |
---|---|
използвайки ‘let’ можем да променяме стойността на променливата произволен брой пъти | използвайки ‘const’, след първото присвояване на стойността не можем да предефинираме стойността отново |
Помислете за кода { нека first_num = 1; първа_номера = 2; документ. запис (first_num); } Тук кодът ще даде изход, тъй като е възможна промяната в стойността на first_num. | Помислете за кода { const second_num = 1; втори_номер = 2; документ. запис (втори_номер); } Тук кодът ще генерира грешка, тъй като ‘second_num’ се присвоява с втора стойност. |
Въпрос # 23) В следващия кодов фрагмент можете ли да предскажете изхода или ако получите грешка; моля, обяснете грешката?
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;
Отговор: Моля, вижте Q # 21, преди да прочетете допълнително
Изход на кодовия фрагмент:
Първо число: 501
Също така ще получим грешка, докато изпълняваме кода, тъй като се опитваме да променим стойността на променлива ‘const’.
Грешка: Uncaught TypeError: Присвояване на константа на променлива.
В # 24) Каква е разликата между ‘null’ и ‘undefined’?
Отговор: И двете ключови думи представляват празни стойности .
Разликите са:
- В „undefined“ ще дефинираме променлива, но няма да присвоим стойност на тази променлива. От друга страна, в ‘null’ ще дефинираме променлива и ще присвоим стойност ‘null’ на променливата.
- тип (недефиниран) и тип (нулев) обект.
В # 25) Каква е разликата между „декларация за функция“ и „израз на функция“?
Отговор: Може да се обясни с пример:
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);
Както е показано в примера add () е декларация за функция, а subtract () е израз на функция. Синтаксисът на декларацията за функция е като функция, която се записва в променлива.
Декларациите за функции са издигнати, но изразите на функции не са издигнати.
В # 26) Какво представляват ‘settimeout ()’?
Отговор: Ще бъде обяснено по-добре с пример.
Помислете за кодовия фрагмент
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Изход на кодовия фрагмент:
Първа линия
Втора линия
Трети ред
Сега въвеждате метода settimeout () и обвивате същия набор от код в него.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Изход на кодовия фрагмент:
Втора линия
Трети ред
Първа линия
С въвеждането на settimeout () процесите стават асинхронни. Първите изрази, които трябва да бъдат поставени в стека, са Console.log (‘Втора линия’) и Console.log (‘Трета линия’) и те ще бъдат изпълнени първи. Трябва да изчакате, докато всичко в стека завърши първо.
Въпреки че „0“ е периодът на изчакване, това не означава, че ще бъде изпълнено веднага.
В # 27) Какво е затваряне и как го използвате?
Отговор: Затварянето е вътрешна функция. Той може да има достъп до външните променливи на функция. В Затваряне в рамките на функция_1 има друга функция_2, която връща стойност „А“ и функция_1 също връща стойност; кажете „B“.
Тук sum () е външната функция, а add () е вътрешна функция, тя може да осъществи достъп до всички променливи, включително ‘first_num’ ‘second_num’ и ‘third_num’. Външната функция извиква вътрешната функция 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));
Изход на кодовия фрагмент:
Резултатът е: 500
В # 28) В следния кодов фрагмент можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
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; }
Отговор: Изявленията за възлагане се разглеждат отдясно наляво.
Изход на кодовия фрагмент:
x = 200
и: 200
с: 200
р: 200
q: 200
В # 29) Можете ли да дадете пример, където кодовият фрагмент показва разликата между методите test () и 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; }
Отговор: Това е пример за метода test () и exec (), вижте Въпрос №: 5 за повече подробности.
Изход на кодовия фрагмент:
Открих шаблона с помощта на exec (): Как
С помощта на test () резултатът е: true
В # 30) Можете ли да дадете пример, показващ JavaScript Hoisting?
Отговор:
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
Моля, вижте Q # 11 за повече подробности.
Тук се използва променливата ‘num’, преди да се декларира. Но JavaScript Hoisting ще го позволи.
Изход на кодовия фрагмент:
Тук се използват променливите, преди да се декларират.
Стойността на променливата е 100
В # 31) Можете ли да дадете пример, показващ използването на ключовата дума „дебъгер“ в кода на JavaScript?
Отговор:
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;
Забележка: Дебъгерът трябва да бъде активиран, за да може браузърът да тества кода. Вижте Въпрос №: 5 за повече подробности
Това е пример за ключова дума за отстраняване на грешки (Използван браузър: Chrome)
Изход на кодовия фрагмент:
Тук, за да тествате кода, дебъгерът трябва да бъде активиран за браузъра,
по време на отстраняване на грешки кодът по-долу трябва да спре да се изпълнява, преди да премине към следващия ред.
Добавяне на числа ...
Изберете „Възобновяване на изпълнението на скрипта“, за да продължите:
Сума от числата: 1500
Въпрос # 32) В следния кодов фрагмент можете ли да предскажете изхода или Ако получите грешка; моля, обяснете грешката?
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 '; }
Отговор: Помислете за кода
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
Изход на кодовия фрагмент:
Сравнението ще върне „true“ по оператор за преобразуване на типове
В # 33) Подобни ли са Java и JavaScript? Ако не, тогава каква е разликата между Java и JavaScript?
Отговор:
Sl No | Java | JavaScript |
---|---|---|
1 | Java е език за програмиране с общо предназначение. | JavaScript е интерпретиран скриптов език на високо ниво. |
две | Java се основава на концепции за обектно-ориентирано програмиране (OOPS). | JavaScript е както обектно-ориентиран, така и функционален скрипт. |
3 | Работи в Java Virtual Machine (JVM) или браузър. | Работи само в браузър. |
4 | Java кодът трябва да се компилира като Java клас файл. | JavaScript няма стъпка за компилация. Вместо това интерпретатор в браузъра чете кода на JavaScript, интерпретира всеки ред и го изпълнява. |
И така, накратко, тези езици изобщо не са свързани или зависят един от друг.
Въпрос # 34) Кои типове данни се поддържат от JavaScript?
Отговор: JavaScript поддържа следното Седем примитиви типове данни и Обект :
(i) Булева: Това е логичен тип данни, който може да има само две стойности, т.е. true или false. Когато проверяваме типа данни „true“ или „false“, използвайки typeof оператор, той връща булева стойност.
Например, typeof (true) // връща булево
Булеви стойности могат да се използват за сравняване на две променливи.
Например,
var x = 2; var y = 3; x==y //returns false
Булевата стойност може да се използва и за проверка на условие
Например,
var x = 2; var y = 3; If(xАко горното условие ‘x Булева променлива може да бъде създадена с помощта на функцията Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Също така, булевият обект може да бъде създаден с помощта на новия оператор, както следва:
var myobj = new Boolean(true);
(II) Нула :Това е тип данни, който е представен само от една стойност, самата ‘null’. Нулева стойност означава липса на стойност.
Например,
var x = null; console.log(x);// This returns null
Ако проверим типа данни на a, използвайки оператора typeof, получаваме:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Неопределено: Този тип данни означава променлива, която не е дефинирана. Променливата е декларирана, но не съдържа никаква стойност.
Например,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Променливата „а“ е декларирана, но все още не е присвоена стойност.
Можем да присвоим стойност на:
(iv) Номер: Този тип данни може да бъде стойност с плаваща запетая, цяло число, експоненциална стойност, ‘NaN’ или ‘Infinity’.
Например,
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
Числовият литерал може да бъде създаден с помощта на функцията Number ():
var x = Number(10); console.log(x);// This returns 10
Също така, числовият обект може да бъде създаден с помощта на оператора ‘new’, както следва:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Това е числов примитив, който може да представя цели числа с произволна точност. BigInt се създава чрез добавяне на n в края на цяло число
Например,
const x = 15n;
Числото може да се преобразува в BigInt с функцията BigInt (число).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) низ: Този тип данни се използва за представяне на текстови данни.
Например,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Нов низ също може да бъде създаден чрез функцията String (), както следва:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Функцията String () се използва и за преобразуване на ненизова стойност в низ.
String(150); // This statement will create a string ‘150’
Низът също може да бъде създаден с помощта на ‘Ново’ оператор
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 низовете са неизменни, т.е. след като низ е създаден, той не може да бъде модифициран. Но може да се създаде друг низ, като се използва операция върху оригиналния низ.
Например,
- Чрез обединяване на два низа с помощта на оператора за свързване (+) или String.concat () .
- Чрез получаване на substring с помощта на String.substr () .
(vii) Символ: Това е уникална и неизменяема примитивна стойност и се използва като ключ на свойство Object. Символите са нови за JavaScript в ECMAScript 2015
ДА СЕ Символ стойност представлява уникален идентификатор.
Например,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
И така, много символи са създадени с едно и също описание, но с различни стойности.
Символите не могат да бъдат преобразувани автоматично.
Например,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Това може да се работи с помощта toString () както следва:
alert(symVar1.toString()); // Symbol(symVar1), this works
Тип на обектните данни
Обектът е стойност в паметта, посочена от идентификатор.
Обект се отнася до структура от данни, съдържаща данни и инструкции за работа с данните. Обектите понякога се отнасят до неща от реалния свят, Например, служител или кола.
Например,
В JavaScript обектите стойностите се записват като име: стойност двойки, както е показано по-долу:
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 име: стойности наричат се двойки Имоти . Например, ‘Type’ е собственост, а ‘BMW’ е стойността на имота.
Стойностите на свойствата са достъпни с помощта на objectName.propertyName
или objectName (“propertyName”)
Например, car1.type или car1 („тип“), връща „BMW“
Стойността на обекта car1 може да се промени, както следва:
car1.type = “Audi”;
Сега,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
В # 35) JavaScript чувствителен ли е на езика?
Отговор: Да, JavaScript е език, чувствителен към малки и големи букви. Значението на това са ключови думи на езика, променливи, имена на функции и всякакви други идентификатори, които винаги трябва да се въвеждат с последователни главни или малки букви.
Например, myVar е различна променлива от myvar.
В # 36) Как да определите към кой тип данни принадлежи операндът?
Отговор: Операндният тип данни може да бъде намерен с помощта на оператора typeof
Той връща низ, указващ типа на операнда.
Синтаксис : typeof операнд
typeof (операнд)
Операндът може да бъде всяка променлива, обект или функция.
Например,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Въпрос # 37) Защо JavaScript се извиква като свободно въведен или динамичен език?
Отговор: JavaScript се извиква като свободно въведен или динамичен език, тъй като променливите на JavaScript не са пряко свързани с нито един тип стойност и всяка променлива може да бъде присвоявана и преназначавана на стойности от всички типове:
Например,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
В # 38) Какво е null в JavaScript?
Отговор: Стойността null представлява преднамереното отсъствие на каквато и да е стойност на обекта.
Това е една от примитивните стойности на JavaScript.
Например,
Var myvar = null; console.log(myvar); //This will print null
В # 39) Какво е NaN?
Отговор: NaN е свойство на глобален обект, представляващ Not-A-Number.
Например,
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
В # 40) Как да разделя низ на елементи от масив?
Отговор: Низът може да бъде разделен на масив с помощта на метода JavaScript split (). Този метод взема един параметър, символът, в който искате да отделите низа, и връща поднизовете между разделителя като елементи в масив.
Например,
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
В # 41) Как да се присъединят елементи от масив в низ?
Отговор: Елементите от масива могат да бъдат обединени чрез метода join ().
Например,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Елементите от масива се обединяват в низ, както следва:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
В # 42) Какъв тип грешки има JavaScript?
Отговор: Следват 2 вида грешки:
- Синтаксични грешки: Това са печатни грешки или грешки в правописа в кода, които карат програмата да не се изпълнява изобщо или да спре да работи по средата. Обикновено се предоставят и съобщения за грешки.
- Логически грешки: Това са грешки, когато синтаксисът е правилен, но логиката или кодът са неточни. Тук програмата работи успешно без грешки. Но изходните резултати са неправилни. Те често са по-трудни за отстраняване от синтаксисните грешки, тъй като тези програми не дават никакви съобщения за грешки за логически грешки.
Въпрос # 43) Как да се справим ефективно с голям брой избори за едно условие начин?
Отговор: Това се прави с помощта на инструкции за превключване:
Например,
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 }
Въпрос # 44) Какво представлява троичен оператор?
Отговор: Троичният или условният е оператор, който се използва за бърз избор между две опции въз основа на истински или фалшив тест.
Това може да се използва като заместител на блока if ... else, когато има два варианта, избрани между вярно / невярно условие.
Например,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Същият код може да бъде написан с помощта на тернарен оператор в един израз, както следва:
резултат = (условие)? ‘резултат 1’: ‘резултат 2’;
В # 45) Да предположим, че има обект, наречен човек
const person = {
име: {
първо: „Боб“,
последно: „Смит“
}
};
Кой от изброените е правилен начин за първи достъп до свойството на обекта?
- person.name.first,или
- лице („име“) („първо“)?
Отговор: И двете са правилни начини. т.е.използване на точки като person.name.first или използване на скоба нотация като person (‘name’) (‘first’)
В # 46) Какво е „това“?
Отговор: Ключовата дума ‘this’ се отнася до текущия обект, в който се пише кодът.
Това е да се гарантира, че се използват правилните стойности, когато контекстът на даден член се промени
Например, има два различни случая на a човек с различни имена и се изисква да отпечатате собственото си име в предупреждението, както следва:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Тук изходът е Добро утро! Аз съм „Том“
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Тук изходът е Добро утро! Аз съм „Джери“
В # 47) Какво представляват анонимните функции?
Отговор: Анонимните функции са функции без никакво име и няма да направят нищо самостоятелно. Те обикновено се използват заедно с манипулатор на събития.
Например, в следния код, анонимен функционален код, т.е. предупреждение („Здравей“); ще се стартира при щракване на свързания бутон:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Анонимната функция също може да бъде присвоена на стойността на променлива.
Например,
var myVar = function() { alert('Hi'); }
Тази функция може да бъде извикана с помощта на:
myVar();
Заключение
По-добре е да съхранявате JavaScript кодовете, CSS и HTML като отделни външни ‘js’ файлове. Разделянето на кодиращата част и HTML частта ще улесни четенето и работата с тях. Множество разработчици също намират този метод за по-лесен за работа едновременно.
JavaScript кодът е лесен за поддръжка. Един и същ набор от JavaScript кодове може да се използва в множество страници. Ако използваме външни JavaScript кодове и ако трябва да променим кода, тогава трябва да го сменим на едно място. За да можем да използваме повторно кода и да ги поддържаме по много по-лесен начин.
Предложено четене = >> TypeScript срещу JavaScript
JavaScript кодът има по-добра производителност. Външните JavaScript файлове ще увеличат скоростта на зареждане на страницата, тъй като те ще бъдат кеширани от браузъра.
Надявам се, че сте намерили полезните въпроси и отговори за интервю за JavaScript. Практикувайте колкото се може повече въпроси и бъдете уверени.
Препоръчително четене
- Въпроси и отговори за интервюта
- Топ 32 най-добри въпроса и отговори за интервю за сцената на данни
- Въпроси и отговори за интервю за ETL тестване
- Топ 20+ .NET интервюта за въпроси и отговори
- Някои сложни ръчни тестови въпроси и отговори
- 25 най-добри пъргави тестови интервюта Въпроси и отговори
- Спок интервю въпроси с отговори (Най-популярни)
- Някои интересни въпроси за интервю за тестване на софтуер