Zunächst müssen wir das ursprüngliche Konzept des Wertes verstehen
Ursprünglicher Wert
Einfache Datensegmente, die im Stapel gespeichert sind, dh ihre Werte werden direkt an dem Ort gespeichert, an dem die Variable zugegriffen wird.
Referenzwert
Objekte, die im Haufen gespeichert sind, dh der Wert, der in der Variablen gespeichert ist
- Das Konzept in W3C wurde verwiesen
Der ursprüngliche Wert, um einfach zu sein, ist null undefinierter String -Nummer boolean
Das Konvertieren von Objekten in Boolean ist relativ einfach
Alle Objekte (einschließlich Arrays und Funktionen) werden in true konvertiert, und das Wrapper -Objekt ist ebenfalls ein Objekt und wird auch in true konvertiert.
In dem Buch heißt es: "Die temporären Objekte, die beim Zugriff auf Eigenschaften von Zeichenfolgen, Zahlen und Booleschen erstellt werden, werden als Wrapper -Objekte bezeichnet." So verstehe ich es. Die neue Zeichenfolge, die Nummer und der Boolesche werden als Wrapper -Objekte betrachtet. Sie unterscheiden sich von Objekten, aber sie sind in der Tat Objekte. Der Hauptunterschied besteht darin, dass sie neue Attribute für Wrapper-Objekte nicht definieren können, da die Attribute der String-Nummer boolean schreibgeschützt sind.
Objekt in den Zeichenfolge Typ konvertieren
Wenn das Objekt über die Methode toString () verfügt, rufen Sie die Methode toString () auf. Wenn ein primitiver Wert zurückgegeben wird, konvertieren Sie den ursprünglichen Wert in eine Zeichenfolge und das Objekt wird in diese Zeichenfolge konvertiert. Wenn die Methode toString () nicht verfügbar ist oder der von dieser Methode zurückgegebene Wert kein ursprünglicher Wert ist, rufen Sie die ValueOf () -Methode auf. Um konvertieren Sie den ursprünglichen Wert in derselben Routine, wenn die Rückgabe ein ursprünglicher Wert ist, in eine Zeichenfolge, und das Objekt wird in diese Zeichenfolge konvertiert. Wenn die Rückgabe kein ursprünglicher Wert ist, wird ein Typ -Konvertierungsfehler geworfen.
Die Methode toString () und valueOf () hier wird nacheinander nicht beschrieben.
Objekt in den Zahlentyp konvertieren
Im Vergleich zum Konvertieren in die Zeichenfolge und der Konvertierung ist dies genau das Gegenteil. Rufen Sie zuerst die ValueOf () -Methode auf und rufen Sie dann die Methode toString () auf. Schließlich gibt die Methode toString () nicht den ursprünglichen Wert zurück, und JS macht einen Fehler.
Wenn die Operatoren "==" und "+" für numerische Berechnungen oder String -Spleißen verwendet werden, wird bei einer Seite des Bedieners ein Objekt in den ursprünglichen Wert konvertiert. Für nicht date Objekte ist das Konvertieren von Objekten in Originalwerte
Das Objekt ruft zuerst die ValueOf () -Methode auf, dann die Methode toString () und konvertiert direkt den ursprünglichen Wert, der durch Aufrufen dieser beiden Methoden als ursprünglicher Wert in das Objekt aufgerufen wird. Rufen Sie für ein Datumsobjekt zuerst die Methode toString () auf und rufen Sie dann die ValueOF -Methode auf.
Geben Sie zum Konvertieren von Datumsobjekten in Originalwerte ein Beispiel an
var nun = new Date (); typeof (jetzt+1); // "String" konvertiert das Datumsobjekt in eine Zeichenfolge, da der methodyp (nun-1) der toString () (nun-1); // "Nummer" spiegelt die Flexibilität von JS wider, "-" Umwandelt die Zeichenfolge in eine Nummer
Die obige Methode zum Konvertieren von Objekten in Originalwerte ist der gesamte Inhalt, den ich mit Ihnen geteilt habe. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.