JavaScript: Forskelle mellem versioner

Content deleted Content added
m Tilføjer Commonscat - kategori på Commons har samme navn som artiklen.
Slettet direkte forkert information.
Linje 1:
'''JavaScript (JS)''' er et dynamisk programmeringssprog. Det er mest almindeligt anvendt som en del af webbrowsere, hvis implementeringer tillader klientside scripts at kommunikere med brugeren, kontrollere browseren, kommunikere asynkront, og ændre indholdet HTML dokumenter. JS anvendes også ved server-side programmering (med Node.js), spiludvikling og udvikling af dekstopdesktop- og mobile applikationer.
 
Sproget blev oprindelig introduceret i web-browseren [[Netscape Navigator]], men er siden blevet genstand for en standardisering i [[Ecma International|ECMA]]-regi. Denne standard kaldes dog [[ECMAScript]], da JavaScript er et registreret varemærke tilhørende [[Sun Microsystems]]. Det faktum at navnet JavaScript tilhører Sun indebærer blandt andet, at Microsofts implementation (af ECMAScript, kaldet JScript), som finder anvendelse i Internet Explorer, officielt ikke er kompatibel med JavaScript. Forskellene er dog så små, at det let lader sig gøre at skrive dynamiske websider, der fungerer lige vel i [[Internet Explorer]] som i [[Mozilla Firefox]] og flere. Et eksempel på en anvendelse, der strækker JavaScripts muligheder til det yderste, er Jeremy Ruston's [http://www.tiddlywiki.com TiddlyWiki].
 
Trods navnet har JavaScript ikke meget andet end en vis syntaktsmæssig lighed med programmeringssproget [[Java (programmeringssprog)|Java]]. Navne-ligheden har mere historiske og kommercielle end tekniske årsager. JavaScript bygger sine objektorienterede faciliteter på idéen om prototyper, se ref. 2.
 
== Eksempler i JavaScript ==
=== Udskrivning af tekst ===
I følgende eksempel bliver der udskrevet tekst på flere forskellige måder:
<source lang="javascript">
<script type="text/javascript">
var tekst = "Wikipedia"; // Definerer variablen 'tekst' med værdien 'Wikipedia'
document.write(tekst); // Udskriver teksten 'Wikipedia' defineret i variablen 'tekst'
tekst = "Den danske Wikipedia";
// Erstatter variablen 'tekst' med en anden tekst
// (læg mærke til at der ikke står "var" foran variabelnavnet)
document.write(tekst); // Udskriver teksten 'Den danske Wikipedia', som defineret i 'tekst'
wikipedia = "Den frie encyklopædi"
// Omdefinerer variablen 'wikipedia' – læg mærke til, at der ikke står "var"
// foran variabelnavnet, og der ikke er et semikolon for enden af værdien.
document.write(wikipedia) // Udskriver teksten 'Den frie encyklopædi'
// Man kan også udskrive tekster uden først at have defineret dem:
document.write("Det er nemt at lære JavaScript");
 
console.log("Tekst til konsollen");
// En anden måde at skrive tekst på er til konsollen. Ulempen er, at browserne har forskellige måder at vise teksten på.
</script>
</source>
 
=== Javascript klasse ([[Singleton pattern|Singleton]]) ===
<source lang="javascript">
<script type="text/javascript">
var jsKlasse = function(){
//private metoder og "properties"
var _enPrivatProperty = true;
var enPrivatMetode = function(etArgument){
return "Dette er en privat metode med argument: " + etArgument;
};
return {
EnOffentligProperty : false,
EnOffentligMetode : function(){
if(_enPrivatProperty)
return enPrivatMetode("Kalder fra en offentlig metode...");
}
}
}();
// Udskriver teksten: Dette er en privat metode med argument: Kalder fra en offentlig metode...
document.write(jsKlasse.EnOffentligMetode());
</script>
</source>
 
== Biblioteker ==
Et JavaScript-bibliotek udmærker sig ved at gøre udviklingen af web applikationer lettere, ved at give et simplere og mere kraftfuldt API at arbejde i mod, i forhold til [[Document Object Model]](DOM) og browser specifikke API'er.
Et af de nyeste og mest brugte biblioteker er [[jQuery]], men andre populære er Dojo, Prototype samtog YUI, se henvisning nedenfor.
 
== Eksterne henvisninger ==
{{Commonscat}}
* [http://www.tutorials4javascript.com/ Javascript Tutorials] (engelsk)
* [http://www.w3schools.com/js/default.asp JavaScript Tutorial]
* [http://mckoss.com/jscript/object.htm Object Oriented Programming in JavaScript] af Mike Koss.
* [http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript Language Specification]
Line 69 ⟶ 20:
* [http://www.jQuery.com/ jQuery]
* [http://www.dojotoolkit.com Dojo]
* [http://www.prototypejs.org/ Prototype]
* [http://www.yuilibrary.com/ YUI]
* [[:en:Ext_(javascript_library)|Ext]]