Konstruktor
neues Objekt ()
neues Objekt (Wert)
Parameter
Wert
Optionaler Parameter, der den ursprünglichen Wert (d. H. Anzahl, booleschen Wert oder String) deklariert, der in ein Zahlenobjekt, ein boolescher Objekt oder ein String -Objekt konvertiert werden soll. Dieses Objekt wird von JavaScript nicht vor 1.1 und ecmascript VL unterstützt.
Rückgabewert
Wenn kein Wertparameter an den Konstruktor übergeben wird, gibt er eine neu erstellte Objektinstanz zurück. Wenn der ursprüngliche Wert -Parameter angegeben ist, erstellt und gibt der Konstruktor das ursprüngliche Wert -Wrapper -Objekt, nämlich das Zahlenobjekt, das boolesche Objekt oder das String -Objekt zurück. Wenn der neue Bediener nicht verwendet wird, wird der Objekt () -Konstruktor als Funktion aufgerufen. Er verhält sich genauso wie bei der Verwendung des neuen Operators.
Eigentum
Konstruktor
Verweise auf eine JavaScript -Funktion, die der Konstruktor des Objekts ist
Verfahren
1. HasownProperty ()
Überprüfen Sie, ob das Objekt lokal definierte (nicht unterhörte) Eigenschaften mit bestimmten Namen ist.
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
var o = neues Objekt ();
O.Name = "Tom";
Alert (O.HasownProperty ("Name")); //WAHR
Alert (O.HasownProperty ("Alter")); //FALSCH
</script>
2.Ri -Prototypeof ()
Grammatik
Object.riprototypeof (o)
Parameter
O
Jedes Objekt.
Rückgabewert
Rückgabe true Wenn Objekt ein Prototyp von O ist. Wenn O kein Objekt oder Objekt kein Prototyp von O ist, wird Falsch zurückgegeben.
beschreiben
JavaScript -Objekte erben die Eigenschaften des Prototypobjekts. Der Prototyp eines Objekts wird durch das Prototyp -Attribut des Konstruktors verwiesen, das zum Erstellen und Initialisieren des Objekts verwendet wird. Die isPrototypeof () -Methode bietet eine Methode, um festzustellen, ob ein Objekt ein Prototyp eines anderen Objekts ist. Diese Methode kann verwendet werden, um die Klasse eines Objekts zu bestimmen.
Beispiel
Die Codekopie lautet wie folgt:
var o = neues Objekt (); // ein Objekt erstellen
Object.Prototype.riprototypeof (o) // true: o ist ein Objekt
Function.prototype.iPrototypeof (O.ToString); // true: Das ToString ist eine Funktion
Array.Prototype.riprototypeof ([1,2,3]); // true: [1,2,3] ist ein Array
// Folgendes ist eine weitere Möglichkeit, den gleichen Test durchzuführen
(O.Constructor == Objekt); // true: o wurde mit Object () Konstruktor erstellt
(O.ToString.Constructor == Funktion); // true: O.ToString ist eine Funktion
/Prototyp Das Objekt selbst ist das Prototypobjekt. Der folgende Anruf gibt true zurück
// Anweisungen Die Funktion erbt die Funktion.Prototype und Object.Prototyp -Eigenschaften.
Object.Prototype.riprototypeof (function.Prototype);
3.Proertyisenumerable ()
Grammatik
Object.Propertyisenumerable (PropName)
Parameter
Propname
Eine Zeichenfolge, die den Namen des Objektprototyps enthält.
Rückgabewert
Rückgabe true Wenn das Objekt über eine nicht unterhörte Eigenschaft mit dem Namen PropName verfügt und die Eigenschaft aufgezählt ist (d. H. Es kann mit einer für/in Schleife aufgezählt werden).
beschreiben
Verwenden Sie die für/in Anweisung, um die Eigenschaften eines Objekts "aufzählbar" zu durchqueren. Aber nicht alle Eigenschaften eines Objekts sind aufgezählt. Attribute, die einem Objekt über JavaScript -Code hinzugefügt wurden, sind aufgezählt, während vordefinierte Eigenschaften (wie Methoden) interner Objekte normalerweise nicht aufgezählt werden können. Die propertiesenumerbare () -Methode bietet eine Möglichkeit, zwischen aufzählbaren und nicht entzählbaren Eigenschaften zu unterscheiden. Es ist jedoch zu beachten, dass das ECMAScript -Standard feststellt, dass die PropertySenumerable () -Methode die Prototypkette nicht erkennt, was bedeutet, dass sie nur für die lokalen Eigenschaften des Objekts gilt und die Aufzählung ererbter Eigenschaften nicht erkennen kann.
Beispiel
Die Codekopie lautet wie folgt:
var o = neues Objekt (); // ein Objekt erstellen
OX = 3,14; // Definieren - Attribute
O.Propertyisenumerable ("x"); // True Eigenschaft X ist lokal und aufgezählt
O.Propertyisenumerable ("y"); // false: o hat kein Attribut y
O.Propertyisenumerable ("toString"); // false: Die tostrlng -Eigenschaft wird vererbt
Object.Prototyp.PropertyISenumerable ("toString"); // Falsch: aufgezählt
Insekt
Es ist offensichtlich falsch, wenn die Standard-Methode propertiesenumerable () nur nicht innevierende Eigenschaften erfasst. Internet Explorer 5.5 implementiert diese Methode gemäß dem Standard. Die in nestacpe 6.0 implementierte PropertyISenumerable () -Methode berücksichtigt die Prototypkette. Obwohl dieser Ansatz wünschenswert ist, steht er mit dem Standard in Konflikt, sodass Netscape 6.1 ihn so modifiziert hat, dass er IE 5.5 entspricht. Da dieser Fehler im Standard vorhanden ist, ist diese Methode nicht so nützlich.
Die Codekopie lautet wie folgt:
<Script>
var obj = neues Objekt ();
obj.title = 'aaa';
obj.funb = function (a, b)
{
Alarm (a+b);
}
Alarm (obj.title);
obj.funb (1,2);
</script>
Hier ist eine Methode
************************************************************
Die Codekopie lautet wie folgt:
<script Language = "JavaScript">
Funktionsobjekt (Wert, a, b) {
this.title = Wert;
this.funb = function () {
this.a = a;
this.b = b;
Alarm (a+b);
}
}
var obj = neues Objekt ("AAA", 1,2);
Alarm (obj.title);
obj.funb ();
// Fügen Sie dem Objekt hier eine neue Methode hinzu
Object.Prototype.Name = "123456";
Alert (obj.name);
</script>
Hier ist ein anderer Weg