![]() "Advanced HTML" skyrelis Tęsiame "Advanced HTML" skyrelį. Tai jau ne pirmasis jo leidimas -
galite pasitikrinti ankstesniuosius: JavaScript atspindžiai Istorijos nuolaužos Kaip parašyti interaktyvią Voratinklio programytę, kuri būtų pakankamai greita? Toks klausimas nedavė ramybės nuo pat HTML aušros. 1995-ais Netscape (pirmoji firma įsigijusi "Java" licenciją) nusprendė, kad reikia supaprastintos kalbos. Brendan Eich sukūrė kalbą, pavadintą "LiveScript". "Sun" ją pervadino į "JavaScript", - ir ji įsiliejo į mases su "Navigator 2.0". Ši kalba dar turi ECMAScript vardą, nes ją standartu pripažino ECMA. Resursai:
Nemokama "JavaScript" realizacija: www.mozilla.org/js/ Ypatybių blyksniai Tai nėra "Java" (kaip programavimo kalba), kurios pagrindas yra klasės. "JavaScript" turi prototipų objektinę sistemą, kurioje nėra griežtos takoskyros tarp klasių ir objektų (kitos šio tipo kalbos yra ThingLab ir Self, žr. http://self.sunlabs.com). JavaScript neturi ir griežtos tipų kontrolės kompiliavimo metu. JavaScript iliustraciją pradėsime faktorialo paskaičiavimo funkcija. function factorial (N) { if ((N > 100) || (N < 0) ) { return -1; } if (N == 0) { return 1; } return N * factorial (N-1); } Panaudojimas: <SCRIPT Language="JavaScript"> <!-- document.write(factorial(100)); // --> </SCRIPT> Galite pabandyti, kaip veikia faktorialo funkcija
(įveskite skaičių iki 100 ir paspauskite mygtuką 'Vykdyk'):
Prototipų objektinė sistema JavaScript objektų sukūrimui yra naudojami konstruktoriai - tai funkcija, kuri priskiria reikšmes this kintamajam. Konstruktorius iškviečiamas naudojant new operatorių. Šiame pavyzdyje pateikiame konstruktorių Automobilio objektui kurti. // Konstruktorius function Automobilis (firma, modelis, metai, numeris) { this.firma=firma; this.modelis=modelis; this.metai=metai; this.numeris=numeris; return this; } Panaudojimas: <SCRIPT Language="JavaScript"><!-- oCar = new Automobilis ("Toyota", "Camry", 1999, "LVC 063"); document.write(" Dabar pailiustruosime, kaip šiam objektui sukuriamas "country" metodas, nustatantis, kurioje šalyje automobilis buvo pagamintas. // Metodas function country () { if (this.firma == "Toyota") { return "Japonija" } else if (this.firma == "BMW") { return "Vokietija" } else if (this.firma == "Ford") { return "JAV" } else { return "Nenustatyta" } } Priskyrimas ir panaudojimas: <SCRIPT Language="JavaScript"><!-- oCar.country = country document.write(" Country: " + oCar.country()); // --> </SCRIPT> Toliau - prototipo savybė yra naudojama elgsenos perdavimui tarp objektų. Iliustruosime Toyota prototipu. // Prototipas function Toyota (modelis, metai, mileage) { this.modelis=modelis; this.metai=metai; this.mileage=mileage; } Panaudojimas: <SCRIPT Language="JavaScript"><!-- Toyota.prototype = oCar; toy = new Toyota ("4Runner", 1999, 15) document.write(" Galite pabandyti, kaip tai veikia! Kodėl JavaScript iškart tapo populiariu, o dauguma to meto eksperimentinių kalbų niekada neišplito toliau laboratorijos sienų? Ogi todėl, kad ji rado savo nišą - kaip Voratinklio klientų ir serverio pusių programavimo priemonė. Ankstesnės "Advanced HTML" skyrelio temos:
| |