Heim > Web-Frontend > js-Tutorial > Verhalten sich Funktionen, Zeichenfolgen und Zahlen tatsächlich wie Objekte in JavaScript?

Verhalten sich Funktionen, Zeichenfolgen und Zahlen tatsächlich wie Objekte in JavaScript?

Susan Sarandon
Freigeben: 2024-11-12 04:23:02
Original
459 Leute haben es durchsucht

Do Functions, Strings, and Numbers Actually Behave Like Objects in JavaScript?

Sind Funktionen, Zeichenfolgen und Zahlen Objekte in JavaScript?

Der Ruf von JavaScript, fast alles als Objekt zu deklarieren, kann rätselhaft sein, insbesondere für Anfänger. Zwar spielen Objekte mit ihren Methoden und Eigenschaften eine wichtige Rolle, doch Primitive wie Zeichenfolgen, Zahlen und Funktionen verhalten sich etwas anders.

Primitive Werte vs. Objekte

In JavaScript sind primitive Werte unveränderlich und können nicht über die Punktnotation aufgerufen werden. Allerdings stellt JavaScript Wrapper-Objekte (String, Number und Boolean) bereit, die Grundelemente mit objektähnlichen Methoden und Eigenschaften ausstatten.

Wrapper-Objekte

Wrapper-Objekte werden dahinter erstellt die Szenen beim Zugriff auf Eigenschaften von Grundelementen. Zum Beispiel im Code:

var s = "foo";
var sub = s.substring(1, 2);
Nach dem Login kopieren

JavaScript erstellt stillschweigend ein String-Objekt, ruft die substring()-Methode auf und verwirft das Objekt dann. Die Untervariable enthält jetzt die Primitivzeichenfolge „o“.

Obwohl es den Anschein hat, dass Sie Primitiven Eigenschaften zuweisen können, werden diese Zuweisungen tatsächlich an den Wrapper-Objekten durchgeführt, die sofort verworfen werden. Daher führt das Abrufen solcher Eigenschaften zu undefinierten Ergebnissen, wie im folgenden Beispiel gezeigt:

var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined
Nach dem Login kopieren

Funktionen als Objekte

Im Gegensatz zu Grundelementen sind Funktionen vollwertige Objekte, die erben von Objekt. Sie können Eigenschaften haben, wie in diesem Code zu sehen ist:

function foo() {}
foo.bar = "tea";
alert(foo.bar); // tea
Nach dem Login kopieren

Zusammenfassend lässt sich sagen, dass Grundelemente in JavaScript nicht von Natur aus über Objekteigenschaften verfügen. Wrapper-Objekte bieten jedoch eine Fassade objektähnlichen Verhaltens, während Funktionen echte Objekte sind, die mit Eigenschaften und Methoden interagieren können. Diese Unterscheidung ist wichtig, um das Typsystem von JavaScript zu verstehen und fundierte Codierungsentscheidungen zu treffen.

Das obige ist der detaillierte Inhalt vonVerhalten sich Funktionen, Zeichenfolgen und Zahlen tatsächlich wie Objekte in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage