JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript ES5

ECMAScript 2009, auch bekannt als ES5, war die erste größere Überarbeitung von JavaScript.

Dieses Kapitel beschreibt die wichtigsten Funktionen von ES5.

ES5-Funktionen


Browser-Unterstützung

ES5 wird in allen modernen Browsern vollständig unterstützt:

Chrome IE Edge Firefox Safari Opera
Yes 9.0 Yes Yes Yes Yes

Die „Use Strict“-Richtlinie

"use strict" definiert, dass der JavaScript-Code im "strikten Modus" ausgeführt werden soll.

Im strikten Modus können Sie beispielsweise keine nicht deklarierten Variablen verwenden.

Sie können den strikten Modus in allen Ihren Programmen verwenden. Es hilft Ihnen, saubereren Code zu schreiben und Sie daran zu hindern, nicht deklarierte Variablen zu verwenden.

"use strict"ist nur ein String-Ausdruck. Alte Browser werfen keinen Fehler, wenn sie ihn nicht verstehen.

Lesen Sie mehr in JS Strict Mode .


Eigenschaftszugriff auf Zeichenfolgen

Die charAt()Methode gibt das Zeichen an einem angegebenen Index (Position) in einer Zeichenfolge zurück:

Beispiel

var str = "HELLO WORLD";
str.charAt(0);            // returns H

ES5 ermöglicht den Eigenschaftszugriff auf Zeichenfolgen:

Beispiel

var str = "HELLO WORLD";
str[0];                   // returns H

Der Eigenschaftszugriff auf Zeichenfolgen ist möglicherweise etwas unvorhersehbar.

Lesen Sie mehr in JS-String-Methoden .


Zeichenfolgen über mehrere Zeilen

ES5 erlaubt Zeichenfolgenliterale über mehrere Zeilen, wenn sie mit einem Backslash maskiert werden:

Beispiel

"Hello \
Dolly!";

Die \-Methode hat möglicherweise keine universelle Unterstützung.
Ältere Browser behandeln die Leerzeichen um den umgekehrten Schrägstrich möglicherweise anders.
Einige ältere Browser erlauben keine Leerzeichen hinter dem \-Zeichen.

Eine sicherere Möglichkeit, ein Zeichenfolgenliteral aufzulösen, ist die Verwendung einer Zeichenfolgenaddition:

Beispiel

"Hello " +
"Dolly!";

Reservierte Wörter als Eigenschaftsnamen

ES5 erlaubt reservierte Wörter als Eigenschaftsnamen:

Objektbeispiel

var obj = {name: "John", new: "yes"}

Saiten trimmen ()

Die trim()Methode entfernt Leerzeichen von beiden Seiten einer Zeichenfolge.

Beispiel

var str = "       Hello World!        ";
alert(str.trim());

Lesen Sie mehr in JS-String-Methoden .



Array.isArray()

Die isArray()Methode prüft, ob ein Objekt ein Array ist.

Beispiel

function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
  x.innerHTML = Array.isArray(fruits);
}

Lesen Sie mehr in JS-Arrays .


Array forEach()

Die forEach()Methode ruft für jedes Array-Element einmal eine Funktion auf.

Beispiel

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);

function myFunction(value) {
  txt = txt + value + "<br>";
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array-Map()

Dieses Beispiel multipliziert jeden Array-Wert mit 2:

Beispiel

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array-Filter()

Dieses Beispiel erstellt ein neues Array aus Elementen mit einem Wert größer als 18:

Beispiel

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array reduzieren ()

Dieses Beispiel findet die Summe aller Zahlen in einem Array:

Beispiel

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array ReduceRight()

Dieses Beispiel findet auch die Summe aller Zahlen in einem Array:

Beispiel

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array alle ()

Dieses Beispiel prüft, ob alle Werte über 18 liegen:

Beispiel

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value) {
  return value > 18;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array einige ()

Dieses Beispiel prüft, ob einige Werte über 18 liegen:

Beispiel

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.some(myFunction);

function myFunction(value) {
  return value > 18;
}

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array indexOf()

Durchsucht ein Array nach einem Elementwert und gibt seine Position zurück.

Beispiel

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


Array lastIndexOf()

lastIndexOf()ist dasselbe wie indexOf(), sucht aber am Ende des Arrays.

Beispiel

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

Erfahren Sie mehr in JS-Array-Iterationsmethoden .


JSON.parse()

Eine häufige Verwendung von JSON ist das Empfangen von Daten von einem Webserver.

Stellen Sie sich vor, Sie haben diese Textzeichenfolge von einem Webserver erhalten:

'{"name":"John", "age":30, "city":"New York"}'

Die JavaScript-Funktion JSON.parse()wird verwendet, um den Text in ein JavaScript-Objekt umzuwandeln:

var obj = JSON.parse('{"name":"John", "age":30, "city":"New York"}');

Lesen Sie mehr in unserem JSON-Tutorial .


JSON.stringify()

Eine häufige Verwendung von JSON ist das Senden von Daten an einen Webserver.

Beim Senden von Daten an einen Webserver müssen die Daten eine Zeichenfolge sein.

Stellen Sie sich vor, wir haben dieses Objekt in JavaScript:

var obj = {name:"John", age:30, city:"New York"};

Verwenden Sie die JavaScript-Funktion JSON.stringify(), um es in einen String umzuwandeln.

var myJSON = JSON.stringify(obj);

Das Ergebnis ist ein String nach der JSON-Notation.

myJSON ist jetzt eine Zeichenfolge und kann an einen Server gesendet werden:

Beispiel

var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Lesen Sie mehr in unserem JSON-Tutorial .


Datum.jetzt()

Date.now() returns the number of milliseconds since zero date (January 1. 1970 00:00:00 UTC).

Example

var timInMSs = Date.now();

Date.now() returns the same as getTime() performed on a Date object.

Learn more in JS Dates.


Date toISOString()

The toISOString() method converts a Date object to a string, using the ISO standard format:

Example

const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();

Date toJSON()

toJSON() converts a Date object into a string, formatted as a JSON date.

JSON dates have the same format as the ISO-8601 standard: YYYY-MM-DDTHH:mm:ss.sssZ:

Example

d = new Date();
document.getElementById("demo").innerHTML = d.toJSON();

Property Getters and Setters

ES5 lets you define object methods with a syntax that looks like getting or setting a property.

This example creates a getter for a property called fullName:

Example

// Create an object:
var person = {
  firstName: "John",
  lastName : "Doe",
  get fullName() {
    return this.firstName + " " + this.lastName;
  }
};

// Display data from the object using a getter:
document.getElementById("demo").innerHTML = person.fullName;

This example creates a setter and a getter for the language property:

Example

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
  get lang() {
    return this.language;
  },
  set lang(value) {
    this.language = value;
  }
};

// Set an object property using a setter:
person.lang = "en";

// Display data from the object using a getter:
document.getElementById("demo").innerHTML = person.lang;

This example uses a setter to secure upper case updates of language:

Example

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
  set lang(value) {
    this.language = value.toUpperCase();
  }
};

// Set an object property using a setter:
person.lang = "en";

// Display data from the object:
document.getElementById("demo").innerHTML = person.language;

Learn more about Gettes and Setters in JS Object Accessors


Object.defineProperty()

Object.defineProperty() is a new Object method in ES5.

It lets you define an object property and/or change a property's value and/or metadata.

Example

// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
};

// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : true,
  configurable : true
});

// Enumerate Properties
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

Next example is the same code, except it hides the language property from enumeration:

Example

// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
};

// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});

// Enumerate Properties
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

This example creates a setter and a getter to secure upper case updates of language:

Example

/// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO"
};

// Change a Property:
Object.defineProperty(person, "language", {
  get : function() { return language },
  set : function(value) { language = value.toUpperCase()}
});

// Change Language
person.language = "en";

// Display Language
document.getElementById("demo").innerHTML = person.language;

E5 Object Methods

ES5 added a lot of new Object Methods to JavaScript:

Managing Objects

// Create object with an existing object as prototype
Object.create(parent, donor)

// Adding or changing an object property
Object.defineProperty(object, property, descriptor)

// Adding or changing object properties
Object.defineProperties(object, descriptors)

// Accessing Properties
Object.getOwnPropertyDescriptor(object, property)

// Returns all properties as an array
Object.getOwnPropertyNames(object)

// Accessing the prototype
Object.getPrototypeOf(object)

// Returns enumerable properties as an array
Object.keys(object)

Protecting Objects

// Prevents adding properties to an object
Object.preventExtensions(object)

// Returns true if properties can be added to an object
Object.isExtensible(object)

// Prevents changes of object properties (not values)
Object.seal(object)

// Returns true if object is sealed
Object.isSealed(object)

// Prevents any changes to an object
Object.freeze(object)

// Returns true if object is frozen
Object.isFrozen(object)

Learn more in Object ECMAScript5.


Trailing Commas

ES5 allows trailing commas in object and array definitions:

Object Example

person = {
  firstName: "John",
  lastName: " Doe",
  age: 46,
}

Array Example

points = [
  1,
  5,
  10,
  25,
  40,
  100,
];

WARNING !!!

JSON does not allow trailing commas.

JSON Objects:

// Allowed:
var person = '{"firstName":"John", "lastName":"Doe", "age":46}'
JSON.parse(person)

// Not allowed:
var person = '{"firstName":"John", "lastName":"Doe", "age":46,}'
JSON.parse(person)

JSON Arrays:

// Allowed:
points = [40, 100, 1, 5, 25, 10]

// Not allowed:
points = [40, 100, 1, 5, 25, 10,]