Bearbeiten von „JavaScript“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
[[Kategorie:Sprache]] [[Kategorie:JavaScript]]
[[Kategorie:Sprache]]
= Links =
= DOM-Elemente finden =
* [[JavaScript_HTML_DOM]]
<pre>var list = document.getElementsByTagName("UL")[0];
* [[JavaScript_Debugging]]
var elem = document.getElementById("xyz");
* [[JavaScript_JUNIT]]


= Entwicklung =
<pre>console.log('Fehler!');
</pre>
</pre>


= Funktionen (Prototypes) =
= Einbindung in HTML =
<pre> <button onclick="myFunction()">Click me</button>
</pre>
<pre><p onclick="myFunction()">Click me to change my text color.</p>
<script>
function myFunction() {
    document.getElementById("demo").style.color = "red";
}
</pre>
<pre><button onclick="myFunction()">Copy Text</button>
 
<script>
function myFunction() {
    document.getElementById("text2").value = document.getElementById("text2").value;
    document.getElementById("textarea2").innerHTML = document.getElementById("textarea2").innerHTML;
    var field = document.getElementById("field1");
    field.style.visibility = field.style.visibility == "hidden" ? "visible" : "hidden";
}
</script>
</pre>
 
= Methoden =
<pre>var hypotenuse = function(a,b) { return Math.sqrt(a*a+b*b); }
<pre>var hypotenuse = function(a,b) { return Math.sqrt(a*a+b*b); }
console.log(hypotenuse(1, 44));
console.log(hypotenuse(1, 44));
var addAll = function(){
  var rc=0;
  for (var ix=0; ix < arguments.length; ix++)
    rc += arguments[ix];
  return rc;
}
addAll(1, 2, 3) === 6;
</pre>
</pre>


Zeile 25: Zeile 35:
* a == b: Referenzvergleich
* a == b: Referenzvergleich
* a === b: Inhaltsvergleich
* a === b: Inhaltsvergleich
= null und undefined =
* null und undefined sind verschieden.
* a == null deckt beides ab.


= Typen =
= Typen =
== String ==
== String ==
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith?retiredLocale=de
Beide Delimiter " und ' sind gleichwertig.
<pre>text += ".";
<pre>text += ".";
"xyz".substr(1, 2) === "y";
"xyz".substr(1, 2) === "y";
"abc".indexOf("bc") === 1;
"abc".indexOf("bc") === 1;
"abab".indexOf("a", 1) == 2;
"abcb".replace("b", "x") === "axcb";
"abcb".replace("b", "x") === "axcb";
"a".toUpperCase() === "A";
"A".toLowerCase() === "a";
"abc".length === 3;
"abc".charAt(1) == "b";
const isText = file.endsWith(".txt");
" abc ".trim() = "abc";
const interpolated = `${b} or ${doit()} and a dollar: \$`;
</pre>
</pre>


Zeile 53: Zeile 48:
* Daher haben Ganzzahlen max. 53 Bit
* Daher haben Ganzzahlen max. 53 Bit
* x=Math.min(1,2,3); r=Math.floor(x); w=Math.sqrt(x);
* x=Math.min(1,2,3); r=Math.floor(x); w=Math.sqrt(x);
* var undef = NaN;
* isNaN(1/0) === true;
* y = parseInt("123");
* str = 123.toString();
== Datum ==
<pre>var now = new Date();
var x = new Date(2018, 0, 3, 22, 33, 44, 117);
/// !!! Monat ab 0 gezählt!!!
var year33Since1970 = new Date(24*3600*365.25 * 33);
var z = new Date("2017-3-8T16:31:10.117");
2017 === z.getFullYear();
2===z.getMonth();
8===z.getDate();
16===z.getHours(); 31==z.getMinutes(); 10===z.getSeconds(); 117===z.getMilliseconds();
z.setHours(3); z.setMinutes(9); z.setSeconds(33); z.setMilliseconds(118);
var utc = new Date(Date.UTC(2018, 4, 6));
var millisSince1970 = utc.getTime();
</pre>


== Dictionary ==
== Dictionary ==
<pre>var x = { "zahl" : 33, "pair" : { "x" : true } };
<pre>var x = { "zahl" : 33, "pair" : { "x" : true } };
document.writeln(x["zahl"]);
for (key in x){
  doIt(x[key]);
}
const contains = x.indexOf('never') >= 0;
</pre>
</pre>


Zeile 88: Zeile 59:
a.concat([2, 3]) === [2, "wow", 99, 2, 3];
a.concat([2, 3]) === [2, "wow", 99, 2, 3];
[1, 3, 5, 9].slice(0,2) === [1, 3] && [1, 3, 5, 9].slice(2,3) === [3];
[1, 3, 5, 9].slice(0,2) === [1, 3] && [1, 3, 5, 9].slice(2,3) === [3];
[3, 9, 12].join(" ") === "3 9 12";
for (index in a){
  doIt(a[index]);
}
for (ix=0; ix < a.length; ix++){
  doIt(a[ix]);
}
</pre>
</pre>
= Klassen =
= Klassen =
<syntaxhighlight lang="javascript">
<pre>'use strict';
'use strict';
class Polygon {
class Polygon {
   constructor(height, width) {
   constructor(height, width) {
Zeile 119: Zeile 81:
const p = new Polygon(300, 400);
const p = new Polygon(300, 400);
p.sayName();
p.sayName();
</syntaxhighlight>
</pre>
 
= DOM =
== Initialisierung ==
<syntaxhighlight lang="javascript">
var ready = (callback) => {
    if (document.readyState != "loading") {
        callback();
    } else {
        document.addEventListener("DOMContentLoaded", callback);
    }
}
ready(() => {
    /* Do things after DOM has fully loaded */
    const sorter = new TableSorter();
    sorter.initializeForm();
});
</syntaxhighlight>
 
== Objekte finden ==
<syntaxhighlight lang="javascript">
// Array von Elements
const list = document.querySelectorAll("th.sortable");
const list2 = document.querySelectorAll(".theClass");
const list3 = document.querySelectorAll("#theId");
// Das erste Element:
const element1 = document.querySelector("th");
const element2 = document.getElementById("mainTable");
const list12 = document.getElementsByName('name');
const list13 = document.getElementsByClassName('sortable mainTable');
const list14 = document.getElementsByTagName('th');
</syntaxhighlight>

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)