So geben Sie den JavaScript-Index für die Anweisung an

Da ich an VB und Delphi gearbeitet habe, bin ich immer ein wenig verwirrt darüber, wie der Schleifenwert beim Schreiben einer C / C ++ - Anweisung wie JavaScript angegeben wird. Notieren Sie sich dies.

Die einfache Methode zum Schreiben, wenn der Indexwert eine Schleife von 0 bis zur Länge -1 durchlaufen soll, lautet wie folgt.

i ++ und i-- respektierten JsLint und versuchten, es nicht zu verwenden.

  var str = 'abc';
  for (var i = 0; i <= str.length - 1; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

Ich denke jedoch, dass es ein Sprachmerkmal des C-Typs für die Anweisung ist, aber der Endbeurteilungsteil der for-Schleife für jede Schleife

i <= str.length - 1



 Da dies ausgewertet wird, tritt jedes Mal der Prozess des Erhaltens der Länge auf, wodurch die Schleife etwas verlangsamt wird.

 Daher ist es besser, zuerst einer Variablen die Anzahl der Schleifen zuzuweisen, wobei der Schwerpunkt auf der Beschleunigung liegt.

```javascript
  var str = 'abc';
  for (var i = 0, il = str.length - 1; i <= il; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

Dies ist auch so geschrieben.

  var str = 'abc';
  for (var i = 0, il = str.length; i < il; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

Dies macht es schwierig, den Endwert der Schleife zu lesen, was mich immer noch ein wenig unwohl fühlt, aber für C / C ++ / Java-Leute ist es nicht unlesbar, so dass es ein Code ist, den ich oft sehe. Es wäre schön, es lesen zu können.

In umgekehrter Reihenfolge ist es besser, so zu schreiben.

  var str = 'abc';
  for (var i = str.length - 1; 0 <= i; i -= 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge von c b a

Wenn Sie die for-Syntax entwickeln und verwenden, können Sie auch Folgendes tun.

  for (var i = str.length; i--;) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge von c b a

Der vollständige Text der Funktionsprüfung lautet wie folgt.

index.html


<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title></title>
<script>

  var str = 'abc';

  for (var i = 0; i <= str.length - 1; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

  for (var i = 0, il = str.length - 1; i <= il; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

  for (var i = 0, il = str.length; i < il; i += 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge a b c

  for (var i = str.length - 1; 0 <= i; i -= 1) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge von c b a

  for (var i = str.length; i--;) {
    console.log(str[i]);
  }
  //Ausgabe in der Reihenfolge von c b a

</script>
</head><body>
</body></html>

Recommended Posts

So geben Sie den JavaScript-Index für die Anweisung an
So legen Sie die Validierung für time_field fest
So erhalten Sie den Inhalt von Map mithilfe des for-Anweisungsmemorandums
So schleifen Sie Java Map (für jede / erweiterte for-Anweisung)
Ausführen des WebCamCapture-Beispiels von NyARToolkit für Java
Vergleich des Schreibens von Callback-Funktionen (Java, JavaScript, Ruby)
Die Idee von C # (Lambda-Ausdruck, für Satz) zu kauen
So geben Sie Array-Werte ohne Verwendung einer for-Anweisung aus
So installieren Sie JMeter für Mac
Verwendung von setDefaultCloseOperation () von JFrame
Java Eclips So debuggen Sie JavaScript
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
[swift5] So legen Sie die Farbe hexadezimal fest
Verwendung von binding.pry für die Ansichtsdatei
So installieren Sie Play Framework 2.6 für Mac
Wie man Variablen benennt 7 Auswahl von Unbehagen
[java] Zusammenfassung des Umgangs mit char
So wechseln Sie Miniaturbilder mit JavaScript
Zusammenfassung zum Schreiben von Anmerkungsargumenten
So erstellen Sie ein Maven-Repository für 2020
So bestimmen Sie die Anzahl der Parallelen
So wechseln Sie die Anzeige des Header-Menüs für jede Übergangsseite
So erstellen Sie mit rbenv eine Umgebung für eine beliebige Version von Ruby
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
[Für Rails-Anfänger] Zusammenfassung der Verwendung von RSpec (Überblick)
Benötigt für iOS 14? So legen Sie NSUserTrackingUsageDescription fest
So geben Sie das ID-Attribut in JSF an
[Für Anfänger] So debuggen Sie mit Eclipse
Anzeigen der vom Docker-Container verwendeten Festplattenmenge für jeden Container
[Java] So erhalten Sie HashMap-Elemente per Schleifensteuerung mithilfe der erweiterten for-Anweisung
Zusammenfassung der Auswahl von Elementen in Selen
JDBC Versprechen und Schreibbeispiel
[Java] So testen Sie, ob es in JUnit null ist
So erstellen Sie überall eine H2-Datenbank
So finden Sie die Trends von OSS für die Webentwicklung heraus
[java] Zusammenfassung des Umgangs mit Zeichenketten
Zusammenfassung zum Erstellen von selbst erstellten JSF-Tags
Vergleich von Anweisungen zum sequentiellen Abrufen von Sequenzen
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
[Bcrypt] So brechen Sie die Anwesenheit ab: true für has_secure_password
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
So verwenden Sie ein Array für HashMap-Schlüssel
Wie man Stimme oder Musik mit Javascript spielt
[Rails] So implementieren Sie einen Unit-Test eines Modells
Wie komme ich zum heutigen Tag?
[Für Anfänger] So implementieren Sie die Löschfunktion
Ausgabe der Verwendung der Slice-Methode
So erstellen Sie eine leichte JRE für den Vertrieb
[Validierung] Schienen Wie nach dem heutigen Datum angeben
[Java] (für MacOS) Methode zur Einstellung des Klassenpfads
[Swift UI] So deaktivieren Sie ScrollsToTop von ScrollView
Verwendung von JQuery in Rails 6 js.erb
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
[Für Super-Anfänger] Verwendung des Autofokus: true