Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions JavaScript - Vikipedija

JavaScript

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

JavaScript – objektiškai orientuota skriptų programavimo kalba, besiremianti prototipų principu. Dažniausiai kalba naudojama internetinių puslapių interaktyvumo realizacijai, bet taip pat naudojama ir kaip galimybė skriptais manipuliuoti tam tikromis programomis. Kalba sukurta Brendano Eicho Netscape kompanijoje ir pavadinta Mocha, vėliau pervadinta į LiveScript, ir galiausiai tapo JavaScript. Vienas iš argumentų pervadinant kalbą buvo sintaksinis panašumas su Java kalba. Paskutinė JavaScript versija – 1.5

Turinys

[taisyti] Susijusios kalbos

Nors JavaScript ir Java kalbų pavadinimai panašūs, pačios kalbos nėra susijusios – abi kalbos perėmė C kalbos sintaksę, bet semantiškai jos labai skiriasi, taip pat visiškai nesuderinami yra jų objektiniai modeliai.

Po JavaScript kaip svetainių skriptų rašymo kalbos sėkmės, Microsoft sukūrė suderinamą kalbą JScript, kurios palaikymas įdiegtas jau Internet Explorer naršyklės 3.0 versijoje, 1996 metų viduryje. Vėliau abi šios kalbos apjungtos į vieną ECMAScript standartą. Nors JavaScript ir JScript sintaksiškai ir semantiškai suderinamos, naršyklės palaiko skirtingus dokumento objektinius modelius (DOM), dėl to skriptas, veikiantis vienoje naršyklėje, nebūtinai veiks ir kitoje.

[taisyti] Naudojimas

JavaScript kalbos sintaksė perimta iš C kalbos, su kitais komponentais bendraujama per interfeisus (dokumento objektinį modelį), palaikoma Unicode, reguliarios išraiškos (regular expresions), taip pat teksto vykdymas naudojant eval funkciją.

Paprastai JavaScript kalbos kodas įtraukiamas į HTML puslapius, tokiu būdu išplečiant statinius HTML puslapius dinaminiu skripto funkcionalumu – galimas anketų parametrų tikrinimas, naujų langų atidarymas, suskleidžiamos hierarchinės struktūros rodymas, išsiskleidžiantis meniu ir daug kitų interaktyvumo formų. JavaScript kalba remiasi kelios pagrindinės svetainių kūrimo metodologijos – DHTML (Dinaminis HTML), AJAX, SPA

Taip pat JavaScript naudojamas įvairiuose įrankiuose – pavyzdžiui, Adobe Acrobat ir Adobe Reader programos leidžia naudoti skriptus PDF faile

[taisyti] Kalbos elementai

Nematomų simbolių (tarpo simbolis, Tab simbolis, naujos eilutės simboliai) naudojimas šiek tiek skiriasi nuo C kalbos, nes čia tokie simboliai gali tiesiogiai veikti semantiką. Naudojama „kabliataškio įterpimo“ technologija, t.y. bet kuri pilnai suformuota eilutė laikoma užbaigta – taip, lyg eilutės gale būtų padėtas kabliataškis. Tokiu būdu net neatskiriant atskirose eilutėse esančių sakinių kabliataškiais, skriptas bus sėkmingai vykdomas. Tačiau programuotojams visgi rekomenduojama tvarkingai dėti kabliataškius, kad pagerinti kodo skaitomumą ir išvengti šalutinių kabliataškių įterpimo technologijos efektų.

Komentarai naudojami kaip C++ kalboje – /* ... */ bloko komentavimui ir „//“ likusios eilutės dalies užkomentavimui.

Kintamieji yra dinaminių tipų, nebūtina kintamųjų aprašyti prieš naudojant. Funkcijoje išreikštinai (naudojant var bazinį žodį) aprašytų kintamųjų galiojimo erdvė yra ribota šiai funkcijai, kiti kintamieji yra globalūs.

[taisyti] Objektai

JavaScript kalbos objektai suteikia galimybę susieti savybes su reikšmėmis. Yra keletas bazinių objektų (masyvas, loginiai kintamieji, data, funkcija, skaičius, matematinių operacijų klasė, reguliarios išraiškos, tekstinės eilutės). Kiti objektai aprašomi vykdymo metu.

Objektai aprašomi sukuriant konstruktoriaus funkciją. Kadangi Javascript kalba remiasi prototipais, yra objektų, bet ne klasių paveldėjimas. Objektai paveldi savybes iš prototipų, bet galima vienam ar kitam objektui dinamiškai pridėti savybių (metodų ar kintamųjų), taip pat ir panaikinti savybes. Norint pridėti savybę visiems to tipo objektams, reikia ją pridėti prototipe, kitaip tai galios tik konkrečiam objektui, bet ne tipui.

Objektų naikinimą reguliuoja šiukšlių surinkimo mechanizmas, dėl to nebūtina rūpintis objektų šalinimu pabaigus naudoti.

[taisyti] Pavyzdys

// konstruktoriaus funkcija
function Taškas(x, y) {
  this.x = x;
  this.y = y;
}

// objekto sukūrimas
obj = new Taškas(12, 1000);

// atributo naudojimas
alert(obj.x);

// kitas būdas naudoti objekto atributus kaip žodyno elementą
alert(obj[„attributeA“]);

// dinamiškai pridedamas atributas
obj.laikas = new Date();

// atributo išmetimas
delete obj.x;

// objekto sunaikinimas remove the whole Object
delete obj;

Paveldėjimas ir prototipai:

function Base() {
  this.Override = function() {
    alert(„Base::Override()“);
  }

  this.BaseFunction = function() {
    alert(„Base::BaseFunction()“);
  }
}

function Derive()
{
   this.Override = function() {
     alert(„Derive::Override()“);
   }
}

Derive.prototype = new Base();

[taisyti] Duomenų struktūros

Tipinė duomenų struktūra – masyvas, kuriame skaičiai (indeksai) susiejami su reikšmėmis. Galimybė susieti skaičių su reikšme yra ir kituose tipuose, bet masyvai turi ir specializuotą funkcionalumą (suliejimas, pridėjimas į galą ir pan), taip pat masyvai turi masyvo dydį nusakantį atributą (length).

[taisyti] Valdymo struktūros

JavaScript sąlyginių bei išrinkimo sakinių, taip pat ciklų for, while bei do .. while sintaksė analogiška C kalbos sintaksei. Taip pat įgyvendintas for .. in ciklas, supaprastinantis objekto atributų perrinkimą, naudojant išraišką for (kintamasis in objektas).

[taisyti] Funkcijos

Kaip ir daugelyje kalbų, JavaScript funkcijos – tai galimai parametrizuoti kodo blokai, galintys gražinti reikšmę. Funkcijos aprašymo pavyzdys:

  function funkcijosVardas(arg1, arg2, arg3) {
     sakiniai;
     return išraiška;
  }

Kiekviena funkcija yra objektas, kurio tipas yra Function, todėl bet kuria funkcija galima manipuliuoti kaip ir kitais objektais, pavyzdžiui, naudoti kaip kitos funkcijos parametrą. Kviečiant funkciją, nebūtina perduoti tiek parametrų, kiek išvardinta funkcijos aprašyme – neperduotų argumentų reikšmės bus neapibrėžtos.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu