| prethodna sadržaj slijedeća |
| Vodič za core JavaScript 1.5 |
Poglavlje 1 JavaScript pregled
Ovo poglavlje uvodi nas u JavaScript, raspreda o njegovim osnovnim konceptima i objašnjava nova svojstva kod 1.5 izdanja.
Što je JavaScript?
Što je JavaScript?
I opet kažem ->JavaScript je Netscape-ova cross-platforma, objektno-zasnovan skriptni jezik. JavaScript je mali, lagani jezik; nije pogodan kao samostojeći jezik, nego je stvoren kao dodatak za druge proizvode i aplikacije kao što su web browseri. Unutar host okruženja, JavaScript može se povezati sa objektima njegova okružja kako bi omogućio programsku kontrolu nad njima.
Osnove JavaScripta sadrže osnovni set objekata kao što su Array, Date , i Math, ali i osnovni set jezičnih elemenata kao što su operatori, kontrolne strukture i naredbe. Osnove JavaScripta mogu se proširiti za razne namjene dodavajući na te osnove dodatne objekte; na primjer:
Client-side JavaScript proširuje osnove JavaScripta dodavajući objekte za kontrolu browsera (Navigator ili neki drugi web browser) i njihov Document Object Model (DOM). Na primjer, client-side proširenja dopuštaju aplikaciji da smjesti elemente u HTML obrazac i odgovori na ono što napravi korisnik kao npr. klikovi mišem, unos u obrazac, ili navigaciji stranicama.
Server-side JavaScript proširuje osnove jezika dodavajući objekte koji se tiču rada JavaScripta na serveru. Na primjer, server-side proširenja dopuštaju aplikaciji da komunicira sa relacijskim bazama podataka, omogućava kontinuitet informacije od jednog poziva do drugog poziva aplikacije ili da izvodi manipulacije datotekama na serveru. Kroz JavaScript-ovu LiveConnect funkcionalnost, možete omogućiti da Java i JavaScript code komuniciraju međusobno. Iz JavaScripta, možete stvarati primjere Java objekata i pristupiti njihovim javnim metodama i poljima. Iz Jave, možete pristupiti JavaScript objektima, osobinama, i metodama.
Netscape je izumio JavaScript i JavaScript se prvobitno koristio u Netscape browserima.
JavaScript i Java
JavaScript i Java su na neki način slični, ali u osnovi to su različiti jezici. JavaScript sliči Javi ali nema Javinu jaku provjeru pisanja. JavaScript podržava većinu Javine sintaxe i osnovnu kontrolu toka.
Nasuprot Javinom compile-time sistemu class-ova napravljenih pomoću deklaracija, JavaScript podržava runtime system zasnovan na manjem broju tipova podataka predstavljajući numeric, Boolean, i string vrijednosti. JavaScript ima prototype-based object model umjesto uobičajenog class-based object model. Prototype-based model osigurava dinamično nasljeđivanje; tj., ono što se naslijedi može varirati kod pojedinih objekata. JavaScript takođe podržava funkcije bez nekih posebnih deklarativnih zahtjeva. Funkcije mogu biti svojstva objektima, koje se izvršavaju kao nestabilno napisane metode.
JavaScript je vrlo neformalan jezik u odnosu na Javu. Ne morate definirati sve varijable, class-ove, i metode. Ne treba vas se ticati da li su metode javne, privatne ili zaštičene, i ne morate primjenjivati sučelja. Varijable, parameteri i function return types se izričito ne pišu.
Java je class-based programski jezik napravljen za brzo izvršavanje i sigurnost pisanja. Sigurnost pisanja znači, npr. da ne možete ubaciti Java integer unutar object reference ili pristupiti privatnoj memoriji izmjenom Java bytecode-a. Javin class-based model da se programi sastoje isključivo od class-ova i njihovih metoda.Ovi zahtjevi čine Java programiranje mnogo složenije od JavaScripta.
JavaScript silazi s linije malog, dinamičkog jezika kao što su HyperTalk i dBASE. Ovi skriptni jezici nude programske alate za mnogo veći broj korisnika zbog njihove jednostavnije sintaxe.
Tablica 1.1 JavaScript u usporedbi sa Javom
Pogledajte više o različitostima JavaScripta i Jave Poglavlje 8, "Detalji Object Modela."
JavaScript i ECMA specifikacije
Netscape je izumio JavaScript i JavaScript se prvobitno koristio u Netscape browserima. Pa ipak, Netscape surađuje sa ECMA (European Computer Manufacturers Association) da stvori standardan, internacionalni programski jezik na osnovama JavaScript. ECMA je međunarodno udruženje za standarde u informacijskim i komunikacijskim sistemima. Ova standardizirana verzija JavaScripta, zvana ECMAScript, ponaša se na isti način u svim aplikacijama koje podržavaju ovaj standard. Kompanije mogu koristiti ovaj open standard jezik za razvoj njihovih implementacija JavaScripta. Prva verzija ECMA standarda je dokumentirana u ECMA-262 specifikaciji.
ECMA-262 standard je takođe priznat od ISO (International Organization for Standards) kao ISO-16262. Možete naći PDF verziju od ECMA-262 na mozilla Web site-u. Takođe možete naći specifikaciju na ECMA Web site-u. ECMA specifikacija ne obja�njava Document Object Model (DOM), koji je standardizirao World Wide Web Consortium (W3C). DOM definira način na koji su HTML objekti izloženi u vašoj skripti.
Odnos između JavaScripta i ECMA verzija
Netscape usko surađuje sa ECMA na stvaranju ECMA specifikacije. TNaredna tablica pokazuje odnos između JavaScripta i ECMA verzija.
Tablica 1.2 JavaScript i ECMA verzije
Uočite: ECMA-262, Edition 2 sastoji se od manjih uvodnih izmjena i bug popravaka iz Edition 1 specifikacije. Radna grupa TC39 iz ECMA-e trenutno radi na ECMAScript Edition 4, koji će odgovarati budućem izdanju JavaScripta, JavaScript 2.0.
Core JavaScript Reference pokazuje koje osobine jezika se podudaraju sa ECMA.
JavaScript će uvijek imati nešto što ne pripada ECMA specifikaciji; JavaScript je kompatibilan sa ECMA, ali ima i neke dodatne stvari.
JavaScript dokumentacija nasuprot ECMA specifikaciji
ECMA specifikacija je skup zahtjeva za primjenu ECMAScripta; to je korisno ako želite odrediti da li je nešto iz JavaScripta podržano od ECMA-e. Ako planirate napisati JavaScript code koji ima samo ECMA obilježja tada morate proučiti ECMA specifikaciju.
ECMA dokument nema namjeru pomoći script programerima. Koristite JavaScript dokumentaciju kao informaciju pri pisanju skripti.
JavaScript i ECMA terminologija
ECMA specifikacija koristi terminologiju i sintaxu koji mogu biti nepoznati JavaScript programeru. Iako opis jezika se može razlikovati u ECMA-u, jezik sam po sebi ostaje isti. JavaScript podržava svu funkcionalnost iznesenu u ECMA specifikaciji.
JavaScript dokumentacija daje izgled jezika koji je prilagođen JavaScript programeru. Na primjer :
Globalni objekt se ne diskutira u JavaScript documentaciji jer ga direktno ne koristite. Metode i svojstva globalnog objekta, koje koristite, su opisani u JavaScript dokumentaciji ali se zovu top-level funkcije i svojstva.
No parameter (zero-argument) constructor sa Number i String objektima nije obrađen u JavaScript dokumentaciji, jer se slabo koristi. Number constructor bez argumenta vraća +0 i String constructor bez argumenta vraća "" (prazan string).
Nove osobine u ovom izdanju
JavaScript verzija 1.5 ima slijedeće nove osobine i poboljšanja:
Runtime errors. Runtime errors se sada prikazuju kao iznimke.
Poboljšanje Number formatiranja. Number formatiranje je poboljšano sa Number.prototype.toExponential , Number.protoytpe.toFixed i Number.prototype.toPrecision methodama. Pogledajte str. 109.
Poboljšanje regularnog izraza. Dodana su slijedeća poboljšanja regularnog izraza :
Quantifiers — +, *, ? i {} — mogu se naći ispred ? da ih se prisili da budu non-greedy. Vidi zapis o ? na str. 56.
Non-capturing zagrade, (?:x) mogu se upotrijebiti umjesto capturing zagrada (x). Kada se koriste non-capturing zagrade, određeni podizrazi nisu dostupni kao back-references. Vidi zapis o (?:x) na str. 56.
Positivni i negativni lookahead assertions jesu podržani. I assert i match ovisi o tome što je iza stringa kojeg pretražujemo. Vidi zapis o x(?=y) i x (?!y) na str. 56.
m flag se dodaje da odredi da se regularni izraz podudara kroz više linija. Vidi str. 63.
Uvjetno deklariranje funkcija. Funkcije sada mogu biti deklarirane unutar if klauzule. Vidi str. 84.
Izrazi za funkcije. Funkcije se sada mogu deklarirati unutar izraza. Vidi str. 85.
Multiple catch klauzule. Multiple catch klauzule u try...catch naredbi su sada podržane. Vidi str. 80.
Getters i Setters. JavaScript pisci mogu sada dodati getters i setters u njihove objekte. Ovo svojstvo postoji jedino u C implementaciju JavaScripta. Vidi str. 98.
Constant-e. Read only konstante jesu podržane. Ovo svojstvo postoji jedino u C implementaciju JavaScripta. Vidi str. 27.
prethodna sadržaj slijedeća
Copyright © 2000 Netscape Communications Corp. All rights reserved.
Posljednje
izmjene Rujan 28, 2000