| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://et.wikipedia.org/wiki/JavaScript |
| Contents |
|---|
| Funktsioonid |
| Kaasamine veebilehele |
| Turvalisus |
| Silumine |
| Viited |
| JavaScript | ||
|---|---|---|
|
| ||
| Faililaiend | .js | |
| Paradigma | funktsionaalne, imperatiivne, objektorienteeritud (prototüübipõhine) | |
| Väljalaskeaeg | 1995 | |
| Looja | Brendan Eich | |
| Arendaja | Netscape Communications Corporation, Mozilla Foundation | |
| Viimane väljalase |
ECMAScript 2024 (juuni 2024) varmyArray=[2,3,5,7,11];
Samuti objektide jaoks: myObject.name;// tagastab "John"
myArray.length;// tagastab 5 (massiivi pikkuse)
JavaScripti objektide ja massiivide süntaksil põhineb JSON (JavaScript Object Notation) andmevahetusvorming, mida kasutatakse ohtralt koos Ajaxiga. Funktsioone luuakse funktsiooniliteraali abil: 1) {\n return n * factorial(n-1);\n } else {\n return 1;\n }\n}\n"}}'>functionfactorial(n){
if(n>1){
returnn*factorial(n-1);
}else{
return1;
}
}
Funktsioonile saab panna nime, nagu näites on tehtud, kuid saab kasutada ka anonüümseid funktsioone. Viimaseid on hea anda parameetritena kõrgemat järku funktsioonidele. Näiteks järgmise koodiga sorteeritakse massiivi kasutades võrdlemiseks anonüümset funktsiooni: b ? 1 : (a < b ? -1 : 0);\n});\n"}}'>[4,7,1,3,6].sort(function(a,b){
returna>b?1:(a<b?-1:0);
});
Üks levinud anonüümsete funktsioonide kasutus on kohalike muutujate globaalsesse nimeruumi sattumise vältimine. Selleks mähitakse kogu kood ühe suure anonüümse funktsiooni sisse, mis kohe käivitatakse: varjohn=newPerson("John");
varmary=newPerson("Mary");
john.greet(mary);// väljastab: Hello Mary, my name is John
mary.greet(john);// väljastab: Hello John, my name is Mary
Siiani näeb kõik välja nagu klassipõhises objektorienteeritud programmeerimises. Kuid Person pole siiski klass, vaid hoopis dünaamilisem kooslus. Näiteks võime Personi prototüüpi jooksvalt täiendada ning kõik muudatused kajastuvad automaatselt selle konstruktoriga loodud objektides: john.nationality="Estonian";
john.nationality;// tagastab: "Estonian"
mary.nationality;// tagastab: undefined
JavaScripti kaasamiseks HTML-dokumenti kasutatakse <script>-elementi: \n document.write('Terekest!');\n</script>\n"}}'><script type="text/javascript">
document.write('Terekest!');
</script>
Alternatiivne variant on linkida <script>-elemendi abil eraldi JavaScripti faili: </script>\n"}}'><script type="text/javascript" src="script.js"></script>
Enamasti kaasatakse JavaScript lehele tavalise lähtekoodi kujul. Mahukamaid faile minimeeritakse, et vähendada allalaaditavat andmehulka ja kiirendada veebilehe laadimist. Mitte kõik brauserid ei toeta JavaScripti ja ka nendel, mis toetavad, saab selle välja lülitada. Kuna pole garanteeritud, et leheküljel olev JavaScript lehe avanedes käivitub, saab kasutada JavaScripti nii, et see üksnes täiustab ilma JavaScriptitagi toimivat lehekülge. Sageli lülitavad kasutajad brauseril JavaScripti toe välja. Seda tehakse peamiselt turvalisuse pärast. Veebilbrauser lubab skriptile küll õige vähe. Muuhulgas keelab see kohalikule kettale ligipääsu, väliste koodide käivitamise, ligipääsu dokumentidele, mis ei asu samas serveris, ligipääsu külastatud lehtede nimekirjale (selle hoolimata lubab eelnevalt külastatud lehtedele tagasi suunata), kõvakettalt faili üleslaadimist, kui kasutaja ise ei ole failinime esitanud, ja sulgeda akent, mida pole avanud Javascripti (selleks küsitakse kasutajalt luba). Arendamisel tekivad tavaliselt raskused erinevate brauserite toega. Tihti ei puuduta see keeleomadusi, vaid väljendub erinevate objektide omaduste ja funktsioonide näol. Programmeerimise hõlbustamiseks on välja töötatud mitmesuguseid silumisvahendeid:
Douglas Crockford: [http://javascript.crockford.com/javascript.html \"JavaScript: The World's Most Misunderstood Programming Language\"] 4. aprill 2010</ref>\n<ref name=\"re-introduction\">[https://web.archive.org/web/20120502220420/https://developer.mozilla.org/en/A_re-introduction_to_JavaScript A re-introduction to JavaScript] MDC</ref>\n<ref name=\"gtRig\">[https://web.archive.org/web/20100106122312/https://developer.mozilla.org/en/About_javascript \"About JavaScript\"] MDC, 4. aprill 2010</ref>\n<ref name=\"M3zNV\">Peter-Paul Koch: [http://www.quirksmode.org/js/intro.html#link1 \"JavaScript vs. Java\"] 4. aprill 2010</ref>\n<ref name=\"pHeb7\">[https://web.archive.org/web/20100118134348/http://www.xmluk.org/javascript-history-information.htm JavaScript History & Information], XMLuk.org</ref>\n<ref name=\"YVFZY\">[http://inventors.about.com/od/jstartinventions/a/JavaScript.htm The History of JavaScript]{{Kõdulink|aeg=oktoober 2022 |bot=InternetArchiveBot |paranduskatse=jah }}</ref>\n<ref name=\"1qU6F\">[http://www.mozilla.org/js/language/E262.pdf ECMA-262 Edition 1] (PDF)</ref>\n<ref name=\"Fi6MN\">Douglas Crockford: [http://javascript.crockford.com/survey.html \"A Survey of the JavaScript Programming Language\"] 4. aprill 2010</ref>\n<ref name=\"E4a1w\">Douglas Crockford: [http://javascript.crockford.com/prototypal.html \"Prototypal Inheritance in JavaScript\"] 4. aprill 2010</ref>\n<ref name=\"dxgTJ\">{{netiviide|url=http://javascript.crockford.com/popular.html| autor=Douglas Crockford | pealkiri=JavaScript: The World's Most Misunderstood Programming Language Has Become the World's Most Popular Programming Language | aeg = 5. aprill 2010}}</ref>\n<ref name=\"FiSP4\">[http://www.json.org/ www.json.org]</ref>\n<ref name=\"210N6\">{{Netiviide |pealkiri=Google Page Speed Performance Best Practices: Minify JavaScript |url=http://code.google.com/intl/et-EE/speed/page-speed/docs/payload.html#MinifyJS |vaadatud=2010-04-04 |arhiivimisaeg=2011-10-08 |arhiivimisurl=https://web.archive.org/web/20111008022409/http://code.google.com/intl/et-EE/speed/page-speed/docs/payload.html#MinifyJS |url-olek=ei tööta }}</ref>\n<ref name=\"7f9ad\">[http://onlinetools.org/articles/unobtrusivejavascript/ Unobtrusive JavaScript]</ref>\n<ref name=\"yxJ1c\">[http://www.mozilla.org/projects/venkman/ Venkman JavaScript Debugger project]</ref>\n<ref name=\"kdM64\">[http://www.microsoft.com/downloads/details.aspx?FamilyID=2f465be0-94fd-4569-b3c4-dffdf19ccd99&DisplayLang=en Script Debugger for Windows NT 4.0 and Later]</ref>\n<ref name=\"YIGBL\">[http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en Internet Explorer Developer Toolbar]</ref>\n<ref name=\"nHEtW\">[http://www.opera.com/dragonfly/ Opera Dragonfly]</ref>\n<ref name=\"0WGMz\">{{Netiviide |pealkiri=Introducing Dosera – Surfin' Safari |url=http://webkit.org/blog/61/introducing-drosera/ |vaadatud=2010-04-04 |arhiivimisaeg=2011-08-30 |arhiivimisurl=https://web.archive.org/web/20110830130248/http://www.webkit.org/blog/61/introducing-drosera/ |url-olek=ei tööta }}</ref>\n<ref name=\"bqtox\">[http://blog.chromium.org/2009/06/developer-tools-for-google-chrome.html Developer Tools for Google Chrome]</ref>"}},"i":0}}]}'>
"Google Page Speed Performance Best Practices: Minify JavaScript". Originaali arhiivikoopia seisuga 8. oktoober 2011. Vaadatud 4. aprillil 2010.
| |