Meine Frage bezieht sich auf allgemeine gute Praktiken der Benennung mehrerer Iterationszähler in verschiedenen Funktionen. Nehmen wir an, ich habe 3 verschiedene Funktionen und jede von ihnen hat for
Schleife. In der ersten verwendet ich for(var i=0; i<5; i++)
alle anderen Funktionen halten auch ähnliche for
Schleife. Sollte ich lieber i
gegen 0
nach jeder Schleife am Ende jeder Funktion ändern oder 3 verschiedene Variablen als Iterationszähler in jeder for
Schleife innerhalb jeder Funktion deklarieren?Gute Praxis für die Benennung mehrerer Iterationszähler
Antwort
Ich habe 3 verschiedene Funktionen
Wenn es drei verschiedene Funktionen, und erklären Sie Schleife for (
var
i = 0)
, wird es eine andere i für jeden von diesen sein. In diesem Fall deklariert var
die Variable innerhalb des Funktionsumfangs (see MDN). Also, i ist ein völlig in Ordnung Name (meist, ich sehe i, j und k für verschachtelte Schleifen (*)) und es gibt keine Notwendigkeit für Unterschiede.
Allerdings: Ohne die var
, wenn Sie nicht im strikten Modus sind, ich wird globalen Geltungsbereich haben.
Als Randbemerkung: Ab heute (ES6), würde ich es vorziehen, for (
let
i = 0...
) verwenden, wenn i nicht außerhalb der Schleife verwendet wird, da in diesem Fall i an die Schleife scoped ist (MDN).
(*) obwohl, wenn man drei verschachtelte Schleifen benötigt, etwas falsch sein könnte.
Danke :) Du gibst mir wirklich wertvolle Informationen! :) –
Wenn die Interaktion in den einzelnen Funktionen nicht irgendwie zusammenhängt, sollten sie unabhängig vom Namen einzeln deklariert werden.
Auch wenn Sie kein globales Feld für i
verwenden, blockiert jeder Code i
Variable nur im lokalen Bereich sowieso, also keine Notwendigkeit, etwas zurückzusetzen.
Grundsätzlich würde ich keine Variable für die Iteration spezifisch im globalen Bereich teilen, würde ich diese Schleifenfunktionalität in seine eigene Bereichsfunktion verschieben, wenn es angemessen ist.
Ja, das war mein Problem. Ich werde mich jetzt daran erinnern! Vielen Dank :) –
Keine Sorge. Habe gerade gemerkt, dass dir in den Kommentaren auch geholfen wurde, zögere nicht dies als Antwort zu akzeptieren, Happy Coding! – dkanejs
Danke! Ich akzeptiere das als Antwort! :) –
- 1. Android - Gute Praxis für Tastenschatten
- 2. gute Praxis für Code-Flow?
- 3. Beste lokale Sockets Benennung Praxis
- 4. Gute Praxis Klasse Zeilenanzahl
- 5. Was sind gute Richtlinien für die Benennung von PowerShell-Verben?
- 6. ViewHolder - gute Praxis
- 7. AngularJS - Form gute Praxis
- 8. ist eine gute Praxis
- 9. Ist ein Beispiel für eine gute Praxis?
- 10. Was ist eine gute Praxis für die Abhängigkeitsinjektion in Ruby?
- 11. Commonjs Funktionsdeklaration Umfang gute Praxis
- 12. vuejs Vorlagen als ASP.net Partialviews, gute Praxis?
- 13. Gute Praxis um Seiten umzuleiten?
- 14. PHP Gute Praxis der Kryptographie?
- 15. Relationales Datenbankdesign Gute Praxis: Normalisierung?
- 16. -Code-Entwurf gute Praxis schlechte Praxis von Schnittstellen
- 17. Bundle Node.js Backend - Gute Praxis oder schlechte Praxis?
- 18. Datenbank Upserts - Gute oder schlechte Praxis?
- 19. ASP.NET MVC - TempData - gute oder schlechte Praxis
- 20. Daumenregel für die Benennung von Wrapper-Klassen
- 21. gehen Rest api Server Design gute Praxis
- 22. Shapes in E-Mails - eine gute Praxis?
- 23. Wird mapM/sequenz als gute Praxis angesehen?
- 24. Ist das eine gute Praxis für reaktive funktionelle Komponenten?
- 25. Ist die teilweise Verspottung einer Sicherheit eine gute Praxis?
- 26. Verschachtelte Typen in Swift - was ist die gute Praxis?
- 27. Master-Include-Dateien - gute oder schlechte Praxis
- 28. Provider Service oder Container injizieren. Gute Praxis
- 29. Verwendet MS SQL Identity gute Praxis?
- 30. gute Praxis in C++ (faule Bewertung)
was spricht dagegen, sie zu benennen i ?? –
klingt wie Sie verwenden eine globale Variable, wenn es sein sollte – MildlySerious
@MildlySerious Ok, danke! Stimmt. Ich erkläre global i = 0; so wird es nach jeder Schleife permanent zu i = x; nach jeder Schleife. Alles ist jetzt klar für mich. Danke. –