Neueste Web-Entwicklung Tutorials
 

JavaScript Objekte


JavaScript-Objekte

In JavaScript-Objekte sind König. Wenn Sie Objekte verstehen, verstehen Sie JavaScript.

In JavaScript, fast "alles" ist ein Objekt.

  • Booleans können Objekte (oder primitive Daten behandelt , als Objekte) sein
  • Numbers können Objekte (oder primitive Daten behandelt , als Objekte) sein
  • Strings können Objekte (oder primitive Daten behandelt , als Objekte) sein
  • Dates sind immer Objekte
  • Maths sind immer Objekte
  • Regular Ausdrücke sind immer Objekte
  • Arrays sind immer Objekte
  • Functions sind immer Objekte
  • Objects sind Objekte ,

In JavaScript sind alle Werte mit Ausnahme primitive Werte sind Objekte.

Primitive Werte sind: Zeichenketten ("John Doe") , Zahlen (3.14), true, false, null und undefined .


Die Objekte sind Variablen die Variablen enthalten

JavaScript-Variablen können einzelne Werte enthalten:

Beispiel

var person = "John Doe";
Versuch es selber "

Die Objekte sind zu Variablen. Aber Objekte können viele Werte enthalten.

Wert - Paare (Name und Wert durch einen Doppelpunkt getrennt): Die Werte werden als Namen geschrieben.

Beispiel

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Versuch es selber "

Ein JavaScript - Objekt ist eine Sammlung von benannten Werten


Objekteigenschaften

Die genannten Werte, in JavaScript - Objekte, Eigenschaften genannt.

Eigentum Wert
firstName John
lastName Doe
age 50
eyeColor blue

Objekte geschrieben als Name-Wert-Paare sind ähnlich:

  • Assoziative Arrays in PHP
  • Wörterbücher in Python
  • Hash-Tabellen in C
  • Hash-Karten in Java
  • Hashes in Ruby - und Perl

Objektmethoden

Methoden sind Aktionen , die auf Objekten ausgeführt werden können.

Objekteigenschaften können sowohl primitive Werte, andere Objekte und Funktionen sein.

Eine Objektmethode ist eine Objekteigenschaft eine Funktionsdefinition enthält.

Eigentum Wert
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

JavaScript-Objekte sind Container für benannte Werte, die so genannte Eigenschaften und Methoden.

Sie werden mehr über die Methoden in den nächsten Kapiteln lernen.


Erstellen eines JavaScript Object

Mit JavaScript können Sie Ihre eigenen Objekte zu definieren und zu erstellen.

Es gibt verschiedene Möglichkeiten, um neue Objekte zu erstellen:

  • Definieren und ein einzelnes Objekt zu erstellen, indem ein Objektliteral.
  • Definieren und ein einzelnes Objekt zu erstellen, mit dem Schlüsselwort neu.
  • Definieren Sie ein Objekt Konstruktor, und dann Objekte des konstruierten Typs erstellen.

In ECMAScript 5 kann ein Objekt auch mit der Funktion erstellt werden Object.create() .


Mit Hilfe eines -Objektliteral

Dies ist der einfachste Weg, um einen JavaScript-Objekt zu erstellen.

Mit ein Objektliteral, Sie beide definieren und ein Objekt in einer Anweisung erstellen.

Ein Objektliteral ist eine Liste mit Namen: Wert - Paare (wie age:50 ) in geschweiften Klammern {} .

Im folgenden Beispiel wird ein neues JavaScript-Objekt mit vier Eigenschaften:

Beispiel

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Versuch es selber "

Leerzeichen und Zeilenumbrüche sind nicht wichtig. Eine Objektdefinition kann mehrere Zeilen umfassen:

Beispiel

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};
Versuch es selber "

Mit dem JavaScript-Schlüsselwörter neu

Im folgenden Beispiel wird auch eine neue JavaScript-Objekt mit vier Eigenschaften:

Beispiel

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Versuch es selber "

Die beiden Beispiele oben genau das gleiche tun. Es besteht keine Notwendigkeit zu verwenden , new Object() .
Zur Vereinfachung der Lesbarkeit und die Ausführungsgeschwindigkeit, verwenden Sie die erste (die Objektliteral Methode).


Mit Hilfe eines Objektkonstruktor

Die obigen Beispiele sind in vielen Situationen beschränkt. Sie schaffen nur ein einzelnes Objekt.

Manchmal mag man ein "Objekttyp", die verwendet werden können, viele Objekte eines Typs zu erstellen.

Die Standard-Weg, um ein "Objekttyp" zu schaffen, ist ein Objekt Konstruktor-Funktion verwenden:

Beispiel

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
Versuch es selber "

Die obige Funktion (Person) ist ein Objekt-Konstruktor.

Wenn Sie ein Objekt Konstruktor haben, können Sie neue Objekte des gleichen Typs zu erstellen:

var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");

Die this Keyword

In JavaScript, das Ding namens this ist das Objekt , das den JavaScript - Code "besitzt".

Der Wert von this , wenn sie in einer Funktion verwendet wird , ist das Objekt , das "besitzt" die Funktion.

Der Wert von this , wenn sie in einem Objekt verwendet wird , ist das Objekt selbst.

Das this Schlüsselwort in einem Objekt - Konstruktor hat keinen Wert. Es ist nur ein Ersatz für das neue Objekt.

Der Wert this wird das neue Objekt, wenn der Konstruktor verwendet wird , um ein Objekt zu erstellen.

Beachten Sie, dass dies nicht eine Variable ist. Es ist ein Schlüsselwort. Sie können nicht den Wert ändern this .


Built-in JavaScript Konstrukteurs

JavaScript verfügt über eine integrierte in Konstruktoren für native Objekte:

Beispiel

var x1 = new Object();    // A new Object object
var x2 = new String();    // A new String object
var x3 = new Number();    // A new Number object
var x4 = new Boolean()    // A new Boolean object
var x5 = new Array();     // A new Array object
var x6 = new RegExp();    // A new RegExp object
var x7 = new Function();  // A new Function object
var x8 = new Date();      // A new Date object
Versuch es selber "

Die Math() Objekt ist nicht in der Liste. Mathe ist ein globales Objekt. Das neue Schlüsselwort kann nicht auf Math verwendet werden.

Wusstest du schon?

Wie Sie sehen können, ist Javascript Versionen der primitiven Datentypen Objekt String, Anzahl und Boolean.

Es gibt keinen Grund, komplexe Objekte zu erstellen. Primitive Werte ausführen viel schneller.

Und es gibt keinen Grund , neu zu verwenden Array() . Verwenden Sie Array Literale statt: []

Und es gibt keinen Grund , die Verwendung neuer RegExp() . Verwenden Sie Muster Literale statt: /()/

Und es gibt keinen Grund , die Verwendung neuer Function() . Verwenden Sie Funktion Ausdrücke statt: function () {} .

Und es gibt keinen Grund zu verwenden , new Object() . Verwenden Sie Objektliterale statt: {}

Beispiel

var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object
Versuch es selber "

JavaScript-Objekte sind Mutable

Die Objekte sind wandelbar: Sie werden durch Bezugnahme adressiert, nicht von Wert.

Wenn y ein Objekt ist, wird die folgende Anweisung nicht eine Kopie von y zu erstellen:

var x = y;  // This will not create a copy of y.

Das Objekt x ist keine Kopie von y. Es ist y. Sowohl x als auch y Punkte auf das gleiche Objekt.

Alle Änderungen an y auch x ändern, da x und y das gleiche Objekt sind.

Beispiel

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

var x = person;
x.age = 10;           // This will change both x.age and person.age
Versuch es selber "