Heim  >  Artikel  >  Web-Frontend  >  Auswertung

Auswertung

王林
王林Original
2023-09-03 23:09:06785Durchsuche

Auswertung

Die folgenden Punkte fassen zusammen, was Sie aus der Lektüre dieses Buches (und dem Studium der Codebeispiele) lernen sollten. Lesen Sie jede Zusammenfassung und kehren Sie zum Thema im Buch zurück, wenn Sie den Inhalt nicht verstehen.

  • Objekte bestehen aus benannten Eigenschaften, die Werte speichern.
  • Die meisten Dinge in JavaScript verhalten sich wie Objekte. Komplexe Werte sind Objekte, während primitive Werte wie Objekte behandelt werden können. Aus diesem Grund hört man vielleicht Leute sagen, dass alles in JavaScript ein Objekt sei.
  • Erstellen Sie Objekte, indem Sie einen Konstruktor mit dem Schlüsselwort new aufrufen oder wörtliche Kurzausdrücke verwenden.
  • Konstruktoren sind Objekte (Function() Objekte), also erstellen Objekte in JavaScript Objekte.
  • JavaScript bietet neun native Konstruktoren: Object()Array()String()Number()Boolean()Function() Date()RegExp()Error()String()Number()Boolean() Konstruktoren erfüllen einen doppelten Zweck: Sie stellen a) einen Grundwert und b) bei Bedarf einen Objekt-Wrapper bereit, sodass der Grundwert wie ein Objekt funktionieren kann.
  • Werte nullundefined"string"10truefalse sind Grundwerte und haben keine Objekteigenschaften, sofern sie nicht wie Objekte behandelt werden.
  • When>Object(), Array()<code>Array(), String(), Number(), Boolean(), Function(), Date ()RegExp()Error() 构造函数使用 new, String()李>, Number()
  • , Boolean()"string"10truefalse,
  • , Date ()<li> Die Konstruktoren <code>RegExp() und Error()
  • werden mit dem Schlüsselwort
  • aufgerufen, wodurch ein Objekt namens „komplexes Objekt“ oder „Referenzobjekt“ erstellt wird.
  • "string"
  • , 10
  • , true<li> und <code>false<code>Array['prototype']['join'].apply() haben in ihrer Rohform keine Objekteigenschaften, bis sie als Objekte verwendet werden. Anschließend erstellt JavaScript hinter den Kulissen temporäre Wrapper-Objekte. damit die Werte wie Objekte funktionieren können.
  • Originalwerte werden nach Wert gespeichert, beim Kopieren werden sie wörtlich kopiert. Komplexe Objektwerte hingegen werden per Referenz gespeichert und beim Kopieren per Referenz kopiert. prototype 属性中查找该属性。如果在那里找不到,因为原型持有一个对象值,并且该值是从 Object() 构造函数创建的,因此在 Object() 构造函数 prototype 属性 (Object) 上查找该属性.prototype)。如果在那里没有找到该属性,则确定该属性为 undefined
  • Primitive Werte sind gleich anderen primitiven Werten, wenn ihre Werte gleich sind, wohingegen komplexe Objekte nur dann gleich sind, wenn sie sich auf denselben Wert beziehen. Das heißt: Wenn sich ein komplexer Wert auf dasselbe Objekt bezieht, sind zwei komplexe Werte gleich dem anderen komplexen Wert.
  • prototypeAufgrund der Natur komplexer Objekte und Referenzen verfügen JavaScript-Objekte über dynamische Eigenschaften.
  • JavaScript ist veränderbar, was bedeutet, dass native Objekte und benutzerdefinierte Objekteigenschaften jederzeit manipuliert werden können. Object() ,因为 prototype 属性本身就是一个 Object()
  • Das Abrufen/Festlegen/Aktualisieren von Objekteigenschaften erfolgt mithilfe der Punktnotation oder der eckigen Klammernotation. Die Klammernotation ist praktisch, wenn der Objekteigenschaftsname, den Sie bearbeiten, in Form eines Ausdrucks vorliegt (z. B. Array['prototype']['join'].apply()<li>). </li> <li>Beim Verweisen auf eine Objekteigenschaft wird eine Suchkette verwendet, um zunächst das Objekt zu betrachten, auf das die Eigenschaft verweist. Wenn die Eigenschaft nicht vorhanden ist, wird die Eigenschaft im <code>prototype<code>this-Attribut des Konstruktors nachgeschlagen. Wenn es dort nicht gefunden wird, weil der Prototyp einen Objektwert enthält und dieser Wert aus dem Object()
    -Konstruktor erstellt wird, also im Object()<li>-Konstruktor <code>prototype<code>this-Attribut ( Object), um diese Eigenschaft zu finden.prototype
    ). Wenn die Eigenschaft dort nicht gefunden wird, wird die Eigenschaft als undefiniert<li> eingestuft. </li> <li><code>prototyp Nachschlageketten sind die Art und Weise, wie Vererbung (auch als prototypische Vererbung bezeichnet) in JavaScript entworfen wird.
  • Aufgrund der Objekteigenschaften-Suchkette (auch bekannt als prototypische Vererbung) erben alle Objekte von Object()<li>, da die <code>prototype -Eigenschaft selbst ein Object()<li>-Objekt ist. </li> <li>JavaScript-Funktionen sind erstklassige Bürger: Funktionen sind Objekte mit Eigenschaften und Werten. <code>var Das Schlüsselwort this<li> ist, wenn es innerhalb einer Funktion verwendet wird, eine allgemeine Möglichkeit, auf das Objekt zu verweisen, das die Funktion enthält. <code>var Der Wert von this<li> wird zur Laufzeit basierend auf dem Kontext bestimmt, in dem die Funktion aufgerufen wird. <code>var Bei Verwendung im globalen Bereich bezieht sich das Schlüsselwort this auf das globale Objekt.

JavaScript verwendet Funktionen, um einzigartige Bereiche zu erstellen.

JavaScript bietet einen globalen Bereich und der gesamte JavaScript-Code existiert in diesem Bereich.

Funktionen (insbesondere Wrapper-Funktionen) erstellen Bereichsketten zum Parsen von Variablensuchen. 🎜 🎜Die Gültigkeitskette wird basierend darauf festgelegt, wie der Code geschrieben ist, nicht unbedingt basierend auf dem Kontext, in dem die Funktion aufgerufen wird. Dadurch kann eine Funktion auf den Bereich zugreifen, in dem sie ursprünglich geschrieben wurde, auch wenn die Funktion aus einem anderen Kontext aufgerufen wird. Dieses Ergebnis wird als Abschluss bezeichnet. 🎜 🎜Verwenden Sie nicht var🎜 Funktionsausdrücke und Variablen, die innerhalb einer Funktion deklariert werden, werden zu globalen Eigenschaften. Funktionsanweisungen innerhalb des Funktionsbereichs werden jedoch immer noch in dem Bereich definiert, in dem sie geschrieben wurden. 🎜 🎜Funktionen und Variablen, die im globalen Bereich (ohne <code>var🎜) deklariert werden, werden zu Eigenschaften des globalen Objekts. 🎜 🎜Funktionen und Variablen, die im globalen Bereich (mit <code>var🎜) deklariert wurden, werden zu globalen Variablen. 🎜 🎜 🎜 🎜Fazit🎜 🎜Vielen Dank fürs Lesen! 🎜

Das obige ist der detaillierte Inhalt vonAuswertung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn