Heim >Web-Frontend >js-Tutorial >Warum gibt „[5, 6, 8, 7][1, 2]' in JavaScript 8 zurück?

Warum gibt „[5, 6, 8, 7][1, 2]' in JavaScript 8 zurück?

DDD
DDDOriginal
2024-11-01 10:25:30388Durchsuche

Why Does `[5, 6, 8, 7][1, 2]` Return 8 in JavaScript?

Array-Subskriptions-Quirk in JavaScript verstehen

In JavaScript kann eine Array-Subskriptionsoperation manchmal zu überraschenden Ergebnissen führen, sodass sich viele fragen, warum das Ergebnis so ist weicht von den Erwartungen ab. Betrachten Sie das folgende Beispiel:

<code class="javascript">[5, 6, 8, 7][1, 2] = 8</code>

Warum gibt dieser Ausdruck 8 zurück?

Dieses Verhalten ergibt sich aus der Art und Weise, wie JavaScript Array-Indexoperationen mit zweiten Operanden verarbeitet, die kein Array sind. Wenn ein Array mit einer durch Kommas getrennten Liste von Ausdrücken anstelle einer einzelnen Zahl indiziert wird, werden die Ausdrücke nacheinander ausgewertet und das Ergebnis des letzten Ausdrucks wird als Index verwendet.

In diesem Fall der Ausdruck [1, 2] wird wie folgt ausgewertet:

  • 1 wird zu 1 ausgewertet.
  • 2 wird zu 2 ausgewertet.

Als Ergebnis Die Array-Indexoperation wird zu:

<code class="javascript">[5, 6, 8, 7][2]</code>

Dies ergibt 8, was dem Wert des Elements an Index 2 im Array entspricht.

Zusätzliche Beispiele

Zur weiteren Veranschaulichung:

<code class="javascript">[1, 2, 3, 4, 5, 6][1, 2, 3]; // 4
[1, 2, 3, 4, 5, 6][1, 2]; // 3</code>

Diese Beispiele zeigen das gleiche Verhalten. Der zweite Operand in der Array-Indexoperation wird als einzelner Ausdruck ausgewertet, was zu dem Indexwert führt, der für den Zugriff auf das entsprechende Element im Array verwendet wird.

Das obige ist der detaillierte Inhalt vonWarum gibt „[5, 6, 8, 7][1, 2]' in JavaScript 8 zurück?. 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