Мазмұны[Жасыру][Көрсету]
- 1. JavaScript сіз үшін нені білдіреді?
- 2. JavaScript әзірлеуге арналған екі негізгі бағдарламалау парадигмасын атаңыз.
- 3. JavaScript-тің Java-дан айырмашылығы неде?
- 4. JavaScript деректердің қандай формаларын қолдайды?
- 5. JavaScript қандай қасиеттерге ие?
- 6. JavaScript қолданудың қандай кемшіліктері бар?
- 7. JavaScript объектіні құруға қалай мүмкіндік береді?
- 8. JavaScript-те массив қалай құрастырылады?
- 9. JavaScript тілінде атау функциясын қалай анықтауға болады және ол не?
- 10. JavaScript тілінде көтеруді сипаттаңыз.
- 11. Айнымалының JavaScript аумақтары нені білдіреді?
- 12. Қайсысы жылдам, ASP сценарийі немесе JavaScript?
- 13. Прототиптік тұқым қуалаушылықтың классикалық тұқым қуалаудан айырмашылығын сипаттаңыз.
- 14. Жаңа компоненттерді динамикалық түрде қосатын программаны жазыңыз.
- 15. Кері қоңырау: бұл не?
- 16. JavaScript бағдарламасын қалай жөндеуге болады?
- 17. Жабу: Бұл не? Иллюстрация келтіріңіз.
- 18. HTML файлына JavaScript кодын қосудың қандай әдістері бар?
- 19. JavaScript тіліндегі таймерлер қалай жұмыс істейді?
- 20. Cookie файлдары туралы көзқарастарыңыз қандай?
- 21. Печеньелерді қалай жасауға болады?
- 22. JavaScript айнымалыларды атау конвенциялары қандай?
- 23. Let және var сөздерінің бір-бірінен айырмашылығы неде?
- 24. Неліктен өзін-өзі шақыратын функциялар бар?
- 25. Қасиеттің атрибуттардан айырмашылығы неде?
- 26. JavaScript тілінде көрсеткі функциялары не істейді?
- 27. Терілетін тіл дегеніміз не?
- 28. JavaScript тілінде ТЕРІС ШЕКСІЗДІКТІ сипаттаңыз.
- 29. Анықталмағанның нөлден айырмашылығы неде?
- 30. Элементтің ішкі HTML алу жолын көрсету үшін кейбір JavaScript кодын жазыңыз.
- 31. JavaScript фреймворктары қандай?
- 32. JavaScript-те көпіршікті оқиға дегеніміз не?
- 33. JavaScript мемоизациясы нені білдіреді?
- 34. Импорт пен экспорт нені білдіреді?
- 35. JavaScript-тің «Қатаң» режимі дегеніміз не және ол қалай іске қосылады?
- 36. instanceof операторы нені орындайды?
- 37. JavaScript тілінде шақыру өрісі нені білдіреді?
- 38. JavaScript тілінде генератор не істейді?
- 39. БОМ: Бұл не?
- 40. Кейінге қалдырылған сценарийлер: олар JavaScript тілінде қандай қызмет атқарады?
- қорытынды
Еркін және ашық бастапқы бағдарламалау тілі JavaScript болып табылады. Ол веб-негізделген қолданбаларды жасау үшін қолданылады. Ол жеңіл және түсіндіріледі, бұл оны басқа тілдерге қарағанда әлдеқайда жылдам етеді.
JavaScript-ті қолдану оңайырақ веб-қосымшалар HTML интеграциясына байланысты. Оның қаншалықты маңызды екенін анықтау үшін браузеріңізде JavaScript өшіріп, бетті жүктеп көріңіз.
Бұл веб-сайттар дұрыс жұмыс істемейді. Олардың мазмұны жиі нашар әрекет етеді. Барлық дерлік заманауи браузерлер HTML, CSS және JavaScript-ті араластырады.
JavaScript - түсіндірілетіндердің бірі бағдарламалау тілдері. Аудармашы Google Chrome, Microsoft Internet Explorer және т.б. қоса алғанда, көптеген браузерлерде бар.
Осылайша, оның кодын браузердің JavaScript Engine арқылы өңдеуге болады. Міне, егер сіз сұхбатқа дайын болсаңыз, сізге сілтеме үшін сарапшы деңгейіндегі JS сұхбатының сұрақтары мен жауаптары.
Оның мақсаты - сізді техникалық сұхбат кезінде кездестіруге болатын сұрақтар түрлерімен таныстыру. Бастайық.
1. JavaScript сіз үшін нені білдіреді?
Клиенттік және серверлік бағдарламалау үшін қолданылатын ең көп қолданылатын веб-скрипт тілі JavaScript болып табылады. JavaScript кодын веб-шолғыштар түсінетін және орындай алатын HTML беттеріне орналастыруға болады, бұл мүмкіндіктерді қолдайды. объектіге бағытталған бағдарламалау.
2. JavaScript әзірлеуге арналған екі негізгі бағдарламалау парадигмасын атаңыз.
Көп парадигмалық тіл JavaScript көмегімен бағдарламалау мыналарға мүмкіндік береді:
- процедуралық/императивті бағдарламалау
- Объектіге бағытталған бағдарламалау (OOP)
- Функционалды бағдарламалауды қолдану
- Прототипке негізделген бағдарламалау тәсілі немесе прототипке негізделген мұра (OOP кеңейтімі)
3. JavaScript-тің Java-дан айырмашылығы неде?
JavaScript негізінен сценарий тілі болғанымен, Java - бағдарламалау тілі. Java - компьютердің операциялық жүйесінде, виртуалды машинада немесе веб-шолғышта жұмыс істей алатын бағдарламаларды жасау үшін әзірлеушілер қолданатын бағдарламалау тілі. Керісінше, JS коды тек браузерде жұмыс істеуге арналған.
Бірақ Electron және Node.js көмегімен JavaScript тілінде тәуелсіз жұмыс үстелі қолданбаларын жасауға болады. Java және JS коды айтарлықтай ерекшеленеді, соңғысы мәтіндік форматта қол жетімді, ал біріншісі компиляцияны қажет етеді.
4. JavaScript деректердің қандай формаларын қолдайды?
JavaScript қолдайтын деректер түрлерін қамтиды:
- String
- символы
- нөмір
- зат
- Белгісіз
- Null
- Бульдік
5. JavaScript қандай қасиеттерге ие?
Бұл еркін және әмбебап сценарий тілі.
Бұл жеңілдетілген интерпретацияланған бағдарламалау тілі.
Ол желіге бағытталған қолданбаларды құру үшін пайдалануға арналған.
Екеуі де Java-ға қосылған және қосымша.
6. JavaScript қолданудың қандай кемшіліктері бар?
Тәжірибесі бар кодерлер жақсы жақтарын дәріптеумен қатар, өздері таңдаған тілдің кемшіліктерін талқылай алады. Қауіпсіздік - JavaScript-тің ең нашар кемшілігі. Оны қалай теріс пайдалануға болатыны туралы ақпаратты іздеңіз.
JavaScript-тің тағы бір кемшілігі оның кең таралған қолданылуы мен бейімделгіштігі болып табылады, ол екі жүзді қылыш болуы мүмкін, өйткені ол әртүрлі жүйелерде біркелкі емес өнімділікке әкелуі мүмкін бағдарламалау үшін көптеген бос орындар қалдырады.
7. JavaScript объектіні құруға қалай мүмкіндік береді?
Объектілер идеясы JavaScript арқылы жақсы қолдау көрсетеді. Нысан литералы арқылы төменде көрсетілгендей нысанды құра аласыз:
8. JavaScript-те массив қалай құрастырылады?
Жиым литералы массивтерді келесідей анықтау үшін пайдаланылуы мүмкін:
9. JavaScript тілінде атау функциясын қалай анықтауға болады және ол не?
Атаулы функция анықталғанда, ол атауды бірден анықтайды. Оны функция кілт сөзі арқылы келесідей сипаттауға болады:
10. JavaScript тілінде көтеруді сипаттаңыз.
Барлық айнымалылар мен функциялар туралы мәлімдемелер JavaScript тілінде әдепкі бойынша жоғарыға жылжытылады, ол көтеру ретінде белгілі. Бұл қай жерде анықталғанына қарамастан барлық айнымалылар мен функциялардың аумақтың жоғарғы жағына ауыстырылғанын білдіреді. Қолжетімділік жергілікті немесе халықаралық болуы мүмкін.
11. Айнымалының JavaScript аумақтары нені білдіреді?
Бағдарламаның айнымалы анықталған бөлімі айнымалының ауқымы болып табылады. JavaScript айнымалысы болуы мүмкін екі ғана аумақ бар.
- Жаһандық айнымалылар: JavaScript кодының барлық жерінде жаһандық айнымалы мәнді көре алады, себебі оның жаһандық ауқымы бар.
- Жергілікті айнымалылар: жергілікті айнымалы мән жарияланған функцияның ішінде ғана көрінеді. Бұл функция үшін жергілікті функция аргументтері әрқашан болады.
12. Қайсысы жылдам, ASP сценарийі немесе JavaScript?
JavaScript жылдамырақ. JavaScript веб-сервердің көмегінсіз орындалуы мүмкін, себебі ол клиенттік тіл. Дегенмен, ASP серверлік тіл болғандықтан, ол әрқашан JavaScript-тен баяуырақ болады. Қазіргі уақытта JavaScript серверлік тіл (nodejs) болып табылады.
13. Прототиптік тұқым қуалаушылықтың классикалық тұқым қуалаудан айырмашылығын сипаттаңыз.
JavaScript дәстүрлі мұраның қатаң шектеулерін алып тастауға және нысандарға басқа нысандардан атрибуттарды мұра етуге мүмкіндік беретін тамаша мүмкіндігіне ие. –
- Классикалық мұра: «жаңа» кілт сөзінің көмегімен конструктор функциясы дананы жасайды. Ата-аналық сыныптың атрибуттары осы жаңа данаға беріледі.
- Прототиптік мұра: дананы жасау үшін прототип ретінде әрекет ететін бар нысан көшіріледі. Зауыттық функция немесе «Object.create()» арқылы жиі жасалатын бұл мысал үшін әртүрлі нысандардан таңдамалы мұра алу тиімді болуы мүмкін.
14. Жаңа компоненттерді динамикалық түрде қосатын программаны жазыңыз.
15. Кері қоңырау: бұл не?
Аргумент немесе әдіске опция ретінде жіберілген қарапайым JavaScript функциясы кері шақыру ретінде белгілі. «Кері шақыру» термині басқа функция аяқталғаннан кейін орындалатын функцияны білдіреді. Функциялар JavaScript тіліндегі нысандар болып табылады. JavaScript нысандары функциялар болып табылады. Сондықтан функциялар басқа функцияларды қайтара алады және басқа функцияларды кіріс ретінде қабылдай алады.
16. JavaScript бағдарламасын қалай жөндеуге болады?
Сәйкес пернені, әдетте, F12 пернесін басу арқылы барлық заманауи веб-шолғыштар, соның ішінде Chrome, Firefox және басқалары кез келген уақытта пайдалануға болатын ендірілген жөндеу құралымен бірге келеді.
Пайдаланушылар отладтау құралдары ұсынатын әртүрлі мүмкіндіктерді пайдалана алады. JavaScript қолданбаларын жасау үшін қолданатын код өңдегіші де JavaScript кодының ақаулықтарын жоюға мүмкіндік береді.
17. Жабу: Бұл не? Иллюстрация келтіріңіз.
Ағымдағы аумақтан тыс көрсетілген айнымалы мән оның ішіндегі аумақтан қатынасқанда, жабулар жасалады. Ол ішкі функциядан сыртқы функцияның ауқымына қол жеткізуге мүмкіндік береді.
JavaScript-те функция жасалған сайын, жабу да жасалады. Жай ғана басқа функцияның ішінде функцияны жазыңыз, оны ашыңыз, содан кейін оны жабуды жүзеге асыру үшін пайдаланыңыз.
18. HTML файлына JavaScript кодын қосудың қандай әдістері бар?
JavaScript кодын негізінен екі жолдың бірімен енгізуге болады:
- Веб-бет ішінде сценарийдің бірнеше жолы ғана қажет болғанда, біз JavaScript кодын сценарий элементінің ішінде сол HTML файлында жаза аламыз.
- Кодты бітеп тастамай, барлық сценарий мүмкіндіктерін веб-бетке қосу үшін HTML құжатына JavaScript бастапқы файлын импорттай аламыз.
19. JavaScript тіліндегі таймерлер қалай жұмыс істейді?
Таймерлер код бөлігін алдын ала белгіленген уақытта іске қосу немесе қайталау үшін пайдаланылады. Ол үшін setTimeout, setInterval және clearInterval әдістері қолданылады.
setTimeout(функция, кідіріс) функциясын пайдаланып, көрсетілген кешігуден кейін белгілі бір функцияны іске қосатын таймер орнатылады. setInterval(функция, кідіріс) функциясы көрсетілген кідірісте көрсетілген функцияны қайта-қайта іске қосады және тоқтатылған кезде ғана тоқтайды.
Таймерге clearInterval(id) әдісі арқылы аяқтау айтылады. Таймерлер бір ағында іске қосылғандықтан, оқиғалар кезекке тұрып, орындалуын күте алады.
20. Cookie файлдары туралы көзқарастарыңыз қандай?
Cookie файлы көбінесе веб-сайт пайдаланушының компьютеріне жіберетін және бетке кіру үшін пайдаланылған веб-шолғыш арқылы сол жерде сақталатын деректердің кішкене бөлігі болып табылады.
Cookie файлдары веб-сайтты қарау әрекеттерін түсіру және кейінірек пайдалану үшін ақпаратты есте сақтау үшін пайдаланылады.
21. Печеньелерді қалай жасауға болады?
Төменде cookie файлдарын жасаудың ең қарапайым JavaScript әдісі берілген:
22. JavaScript айнымалыларды атау конвенциялары қандай?
JavaScript-те айнымалыларды атаған кезде келесі ережелерді сақтау керек:
Кез келген JavaScript сақталған кілт сөздерді айнымалы атаулар ретінде пайдалануға болмайды. Мысалы, үзіліспен немесе логикалық мәнмен аяқталатын айнымалы атаулар жарамсыз.
JavaScript тіліндегі айнымалының аты (0-9) санмен басталмауы керек. Олар әріптен немесе астын сызу белгісінен басталуы керек.
Мысалы, _123name немесе name123 болса да, 123name қолайлы айнымалы атау емес. JavaScript айнымалы атауларында жағдай маңызды. Мысалы, сынақ және сынақ екі түрлі айнымалы болып табылады.
23. Let және var сөздерінің бір-бірінен айырмашылығы неде?
JavaScript тілінде айнымалылар мен әдістерді жариялау let немесе var арқылы жасалуы мүмкін. Бұл екеуінің арасындағы жалғыз нақты айырмашылық мынада: let кілт сөзінің ауқымы блокпен, ал var кілт сөзі функциямен қамтылған.
24. Неліктен өзін-өзі шақыратын функциялар бар?
Дереу шақырылатын функция өрнектері немесе өздігінен орындалатын анонимді функциялар олардың басқа атаулары болып табылады. Бұлар «Өзін-өзі шақыратын функциялар» деп аталады, өйткені олар код арқылы автоматты түрде шақырылады.
Біз функция жазамыз және оны шақырамыз. Дегенмен, егер функция түсіндірілгенде және оны қайта пайдаланбайтын болсақ, оның автоматты түрде іске қосылуын қаласақ, анонимді функциялар қолданылуы мүмкін. Сонымен қатар, кейбір функциялардың атауы жоқ.
25. Қасиеттің атрибуттардан айырмашылығы неде?
JS DOM нысандарының атрибуттары белгілі бір құрамдас бөліктерге арналған айнымалы мәндерге ұқсас жұмыс істейді. Меншік әртүрлі деректер түрлерін қамтуы мүмкін.
Vanilla JS жүйесіндегі нысанмен әрекеттесу немесе jQuery prop() функциясын пайдалану арқылы сипаттарға қол жеткізуге болады.
Атрибуттар DOM емес, HTML-де кездеседі. Олар қасиеттермен салыстыруға болады, бірақ мүмкіндіктері аз. Сипаттар қол жетімді болса, олармен жұмыс істеу атрибуттармен жұмыс істеуден гөрі ұсынылады.
Атрибут сипатқа қарағанда жол деректер түрі болып табылады.
26. JavaScript тілінде көрсеткі функциялары не істейді?
JavaScript тілінде көрсеткі функциялары функцияларды жазудың жылдам және түсінікті әдісі болып табылады. Көрсеткі функциясының келесі жалпы синтаксисі бар:
27. Терілетін тіл дегеніміз не?
Терілген тілдерде айнымалы емес мәндер бір-бірімен байланысты. Екі санат бар:
Динамикалық: JS-тен айырмашылығы, айнымалы санды немесе жолды қабылдай алады, бұл айнымалыға көптеген түрлерді қамтуға мүмкіндік береді.
Статикалық: Бұл жағдайда айнымалы тек бір типті сақтай алады; мысалы, Java тілінде жол айнымалысы тек белгілі бір таңбалар жинағын сақтай алады.
28. JavaScript тілінде ТЕРІС ШЕКСІЗДІКТІ сипаттаңыз.
Теріс бүтін сан 0-ге бөлінгенде, JS жүйесінде нәтиже беретін ТЕРІС ШЕКСІЗДІК статикалық сипаты жасалады. Бұл оның кейбір маңызды белгілері:
ТЕРІС ШЕКСІЗДІкке қол жеткізу үшін ешқандай қосымша нысандар жасалмауы керек.
ТЕРІС ШЕКСІЗДІК сипатының мәні жаһандық нысан үшін шексіздік сипатының теріс мәніне сәйкес келеді.
29. Анықталмағанның нөлден айырмашылығы неде?
Анықталмаған әлі мән берілмеген жарияланған айнымалыны білдіреді. Нөл - бұл тағайындау мәні, екінші жағынан. Оны ешқандай мәнді көрсету және айнымалыға тағайындау үшін пайдалануға болады.
Анықталмаған - бұл өзіндік тип (анықталмаған), ал null - нысан. Анықталмаған және нөл де екі түрлі түр.
30. Элементтің ішкі HTML алу жолын көрсету үшін кейбір JavaScript кодын жазыңыз.
31. JavaScript фреймворктары қандай?
JavaScript тілінде жасалған қолданбалы жүйе JavaScript негізі ретінде белгілі. Жөнінде бақылау ағыны, ол JavaScript кітапханасынан өзгереді. Бірнеше JavaScript фреймворктері қол жетімді, дегенмен олардың бірнеше танымалы мыналарды қамтиды:
- бұрыштық
- жауап
- Vue
32. JavaScript-те көпіршікті оқиға дегеніміз не?
Оқиға бір элементте басқа элементтің ішінде орын алса және екі элемент те сол оқиға үшін дескрипторды тіркеген болса, HTML DOM API оқиғаны тарату әдісі ретінде оқиғалардың көпіршіктерін пайдаланады.
Көпіршік пайда болған кезде оқиға қоршаған құрамдас бөліктерге берілмес бұрын ең ішкі элемент арқылы бастапқыда анықталады және өңделеді.
Осы оқиғадан бастап орындау оның негізгі элементіне ауысады. Осыдан кейін оның негізгі элементі орындалуды алады және т.б. дене элементіне дейін жалғаса береді.
33. JavaScript мемоизациясы нені білдіреді?
Есте сақтау - қымбат функция шақыруларының нәтижелерін сақтау және бірдей кіріс қайта қабылданған кезде оларды қайта пайдалану арқылы кодты жылдамдататын оңтайландыру әдісі.
Функция күрделі есептеулерді орындайтындықтан, оны орындау үшін көп уақыт пен жад қажет болса, ол қымбат деп аталады. Кэш қымбат функция шақыруының нәтижесімен дереу толтырылады.
Сол функция қажетті есептеуді айналып өтіп, сол кіріс параметрлерімен қайта шақырылса, кэштелген мәнді қайтарады.
Функция бұрын орындаған кез келген есептеулерді немесе есептеулерді қайталауды қажет етпейтіндіктен, бұл әдіс бағдарламаңыз пайдаланатын уақыт пен жадты айтарлықтай үнемдейді.
34. Импорт пен экспорт нені білдіреді?
Біз импорт пен экспорттың көмегімен модульдік JavaScript кодын жасай аламыз. Біз импорттау және экспорттау арқылы кодты бірнеше файлға бөлуге болады. Мысалдар жатады
35. JavaScript-тің «Қатаң» режимі дегеніміз не және ол қалай іске қосылады?
Қатаң режимді пайдалану арқылы кодыңыздағы қателерді тексеруді жақсартуға болады.
Қатаң режимді пайдаланған кезде кеңейтілмейтін нысандарға сипаттарды қосу, тек оқуға арналған сипаттарға мәндерді тағайындау, жасырын түрде жарияланған айнымалы мәндерді пайдалану немесе тек оқуға арналған айнымалы мәндерге мәндерді тағайындау мүмкін емес.
Файлды, бағдарламаны немесе функцияны «қатаң пайдалану» арқылы бастау арқылы қатаң режимді қосуға болады.
36. instanceof операторы нені орындайды?
instanceof операторы нысанның прототипі тізбегінде конструктордың прототип сипатының кез келген даналары бар-жоғын анықтайды. Басқаша айтқанда, instanceof операторы объект сыныптың данасы болса, орындалу уақытында анықтайды.
Айнымалы пайдаланушылардың түрін анықтау үшін instanceof операторы төмендегі мысалда пайдаланылады.
37. JavaScript тілінде шақыру өрісі нені білдіреді?
Шақыру жолағы – пайдаланушыға енгізуді қамтамасыз етуге мүмкіндік беретін мәтіндік өрісі бар жолақ. Енгізуді сұрайтын диалогтық терезе prompt() функциясы арқылы көрсетіледі. Пайдаланушы бетті көрмес бұрын мән енгізуі қажет болса, шақыру жолағын пайдаланыңыз.
Пайдаланушы жалғастыру үшін мәнді енгізгеннен кейін пайда болатын қалқымалы терезеде «OK» немесе «Болдырмау» опциясын таңдауы керек.
38. JavaScript тілінде генератор не істейді?
Генераторлар әртүрлі уақытта пайдалануға болатын функциялар. Бұл функциялардың мәтінмән және айнымалы байланыстары сақталады және қайта кірулерде сақталады.
Генератор функциясының бастапқы шақыруы генератор деп аталатын итератордың белгілі бір түрін қайтарады. Келесі қадам - мәнді пайдалану үшін генератордың келесі әдісін шақыру. Ол yield кілт сөзін таппайынша, генератор функциясы жұмысын жалғастырады.
39. БОМ: Бұл не?
BOM немесе шолғыш нысанының үлгісі пайдаланушыларға терезе бірінші нысан ретінде қызмет ететін браузерлермен әрекеттесуге мүмкіндік береді. Басқа мүмкіндіктерден басқа, терезе нысанында құжат, тарих, экран, навигатор және орын бар.
Терезенің функциясына тікелей және терезеге сілтеме жасау арқылы қол жеткізуге болады.
40. Кейінге қалдырылған сценарийлер: олар JavaScript тілінде қандай қызмет атқарады?
Бет жүктелген кезде браузер HTML кодын талдауды бастайды. Әдепкі бойынша, браузер сценарийді кездестіргенде HTML кодын талдауды тоқтатады және оның орнына сценарийді іске қоса бастайды.
Сценарий аяқталғаннан кейін браузер HTML кодын өңдеуді жалғастырады.
Бетті жүктеуді баяу сервер немесе үлкен сценарий кешіктіреді. Кейінге қалдырылған сценарийлер құжат өңделгенге дейін сценарийді іске қосуды кейінге қалдырады.
Сценарийдің орындалуындағы бұл кідіріс веб-беттің жүктелуіне кететін уақытты азайтады.
қорытынды
Кездесуге дайындалып жатқан әзірлеуші немесе дұрыс үміткерді табуға тырысатын жалдау менеджері болсаңыз да, бұл JavaScript сұхбат сұрақтары сізге пайдалы болады деп үміттенеміз.
Техникалық тәжірибе мен білім жалдау процесінің аз ғана бөлігін құрайтынын есте сақтаңыз. Жұмысқа орналасу (немесе сәйкес өтініш берушіні табу) үшін бұрынғы тәжірибе және жұмсақ дағдылар бірдей маңызды.
Ашық JavaScript сұхбат сұрақтарына жиі бірнеше дұрыс жауаптар бар екенін ескеріңіз. Сұхбат берушілерді сіз жаттап алған жауап қана емес, жауаптарыңыздың астарындағы дәлел қызықтырады.
Жауабыңызға қалай келгеніңіз туралы кейінгі сұрауларға дайын болыңыз және әрқашан ойлау процесін түсіндіре біліңіз.
Шығу Хашдорктың сұхбат сериясы сұхбат дайындауға көмектесу үшін.
Арун
Wow, бұл мақала маған Javascript сұхбатына дайындық кезінде көп көмектесті