JavaScript тілінің мүмкіндіктері Бұл тілдің көмегімен көрінетін элементтермен және HTML – құжаттамалардың мазмұнымен динамикалы басқаруға болады. Экранда қрнектелетін құжаттамаға шамаланып құрылған HTML құжаттамаларды браузермен жүктелген құжаттамаларды синтаксистік талдау процесінде жазуға болады. Document объектісінің көмегімен құжаттамаларды «нольдн бастап» генерациялауға боладжы, ол негізінен пайдаланушының жасаған алдыңғы әрекеттеріне немесе қандай да бір факторға байланысты жүргізілуі мүмкін.
JavaScript браузер жұмысын бақылауға мүмкіндік береді. Мысалы, Window объекті экранға қалқып шығатын диалогтық терезелерді шығаруға, браузер жаңа терезелерін құруға, ашуға және жабуға, қозғалту режимдерін беруге және терезелер өлшемдерін беруге және т.б. мүмкіндік береді.
JavaScript құжаттамалар ішіндегілермен бірге өзара әрекет етуге мүмкіндік береді. Объект Document және оның ішіндегі болатын объектілер бағдарламаларға HTML- құжаттамалары бөліктерін оқуға және кейде олармен әрекет етуге мүмкіндік береді. Мәтінің дәл өзін оқуға мүмкін болмайды, бірақ, мысалы, сол құжаттаманың ішіндегі гипермәтінді сілтиемелер тізімін алуға мүмкіндік бар. Ағымдағы мезеттерде құжаттамалар мазмұнымен өзара әрекет етудің кең мүмкіндіктері Form объектін және оның құрамында болуы мүмкін объектілермен өзара әрекет етудің қамтамасыз ете алады, атап айтсақ: Button, Checkbox, Hidden, Password, Radio, Reset, Select, Submit, Text және Textarea.
JavaScript пайдаланушымен өзара әрекеттесуге мүмкіндік береді. Тілдің маңызды ерекшелігі болып ондағы таралған жағдайларды өңдеушілерді анықтау мүмкіндігі – кодтың шамаланған порцияларын анықтау, нақты жағдайлар түскен кезде әрекет ете бастайды (әдетте пайдаланушы әрекетінде). JavaScript жағдай өңдеушілер ретінде кез келген алдын ала берілген функцияларды пайдалана алады. Мысалы, қатарда арнайы хабарламаның жағдайын шығаратын, әрине егер пайдаланушы тышқан пернесін гипер мәтіндік сілтемеге алып баратын болса немесе экранға диалогты терезені нақтылауды сұрауға сұрау бере отырып шығратын болса сол әрекеттерді орындайтын бағдарламаларды жазуға болады немесе пайдаланушымен енгізілген мәндерді тексеруге және егер нгізу жағдайларында қателік орындаған жағдайда сәйкес диагностиканы беріп және дұрыс мәнді енгізуге мәжбүрлейді.
JavaScript шамаланып жүргізілетін математикалық есептеулерді орындауға мүмкіндік береді. Одан басқа бұл тіл күн және уақыттың мәндеріне ие дамыған жұмыс құралдарына ие. JavaScript негізінен CGI – бағдарламаларына балама ретінде және Perl сценарийі тіліне баламалар ретінде, сонымен қатар Java тілдеріне қосымша толықтырулар ретінде құрылған.
Төмендегі кестеде Java және JavaScript салсытырулары келтірілген:
JavaScript
Java
Бағдарламаның бастапқы коды тікелей HTML-құжаттамада тұрғызылады немесе тәуелсіз файлдардан жүктеледі.
Бағдарламаның бастапқы коды қосымша – апплетпен таратылмсайды. Апплеттер сервердерден тәуелсіз файлдардан жүктеледі.
Бағдарлама серверге мәтіндік формадағы бастапқы код ретінде салынады және одан ары интерпретацияланады (алдын ала компиляциялаусыз) браузермен серверден жүктеуден кейін қосыла алады
Бағдарлама машина-тәуелсіз байттық кодқа компиляцияланады Java-код, осыдан кейін серверге жүктеледі. Браузер (виртуальды Java-машина) келесі Java-кодты орындайды.
Объектілі. Объектілі бағдарламалауды пайдалана отырып бағдарламалауға, және сонымен қатар алдын ала анықталған тұрғызылған кластар көмегімен бағдарламаланады. Осы кластарды кеңейтудің теориялық мүмкіндігі болады, бірақ ол нақты ешқашан пайдаланылмайды.
Объектілі-бағытталған. Объектілі бағдарламалауды пайдаланбастан бағдарламалау мүмкін емес. Апплттер иерархиялық мұралаудың мұра етудің дәстүрлі схемасына ие кластарынан тұрады. Мұралау және полиморфизмді пайдалану – Java бағдарламалаудың негізі болып табылады.
Объектіл бағытталаудың көптеген тілдерінен ерекшелігі JavaScript тілінде объектілер құрылымы класс құрылғысымен бір жола ешқана берілмейді, ал ол динамикалық болып табылады және бағдарламаны орындау кезеңінде өзгеруі мүмкін. Объектілер динамикалы жаңа полялар және әдістерді ала алады немесе ескілердің кез келген параметрлерін өзгерте алады.
Объектілр құрылымы толықтай олардың кластарын компиляциялауда беріледі.
Еркін типтелу: ауыспалылардың мәліметтерінің элементарлы типтері суреттелмейді, тағайындалу кезінде сол жақ типі әруақта тағайындау нәтижесі бойынша анықталады (басқаша айтқанда, оң жақ бөлігі бойынша)
Қатаң типтелу: кез келген ауыспалының мәліметтер типі пайдаланудан алдын суреттелуі қажет, сол жақ типі оң типімен сәйкес келуі тиіс (кейбер сирек жағдайларда ғана, яғни нәтиже типін сол типіне келтіру автоматты жұмыс істеп жатқан кезде ғана)