Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
es geht ja aber nicht umBeikann man hald sofort sagen, was passiert.Code:var arr = [b];
var arr = [b];
var b,arr = [b,b,b,...100923 mal b..., b]
sondern um
Code:var b,arr = [b,b,b,...100923 mal b..., b]
es wird eins definiert, will man ein array, mit 107347 elementen, von welchen ich in irgendeinem algorithmus später einige werte setze, mache ich entweder mitna und? es werden zwei arrays definiert. warum das nicht gleich hintereinander schreiben?
var a=new Array(107347);
var a=[];a[107346] = undefined;
var a=[HIER SCHREIBE ICH JETZT 107347 MAL undefined];
na du, ich weiss ja nicht!es wird eins definiert
Code:var b,arr = [...]
var b,c = 0;
jarichtet meiner Meinung nach, zwei variablen ein, eine namens b und eine names arr,
nee, nur arrdie jeweils das danach definierte array enthalten.
nein, nur c, b ist nicht initialisiertIch kann ja auch
machen, um beide vraiablen, b und c, mit 0 zu initialisieren.Code:var b,c = 0;
Da man sie sowieso noch befüllen muss, ist es ziemlich egal, ob der Array mit 107347 Elemente zu erzeugt wird oder (in der ev. rückwärts laufenden) Schleife dir richtige Größe bekommt.will man ein array, mit 107347 elementen
var arr = [];
a.length = 10;
das mein beispiel konstruiert ist, gebe ich ja zuDa man sie sowieso noch befüllen muss, ist es ziemlich egal, ob der Array mit 107347 Elemente zu erzeugt wird oder (in der ev. rückwärts laufenden) Schleife dir richtige Größe bekommt.
da gefällt mir der konstruktor besserWenn man das doch mal unbedingt braucht, würde ichCode:var arr = []; a.length = 10;
Mir nicht aber darum geht es auch nicht. Es geht darum, was weniger fehleranfällig ist.da gefällt mir der konstruktor besser
fehleranfällig ist jede zeile codeMir nicht aber darum geht es auch nicht. Es geht darum, was weniger fehleranfällig ist.
Den Satz verstehe ich nicht... denn dafür:var arr = new Array(b); mit unbekantem typ b ist genauso konstruiert wie mein beispiel, und genau wie es dort eine alternative in literalschreibweise gibt, gibt es auch für den unbekantem typ b eine lösung mit konstruktor
var b = 3;
var arr = [b];
arr[0] = b
).ja,dafür:
gibt es keine direkte Entsprechung mit Konstruktor (außer man macht dann einCode:var b = 3; var arr = [b];
arr[0] = b
).
var arr = new Array();
arr[0] = b;
var arr = new Array(123456789);
Ja - ist aber schlechter wartbar, da wenn ich ein Element hinzufügen will entweder die Zeile lösche und dann beide Elemente in den Konstruktor schreibe oder die Zeile kopieren und den Index ändern.ist eine zeile mehr, genau wie
bei dir eine zeile mehr hatCode:var arr = new Array(123456789);
von welchem fall redest du jetzt?Ja - ist aber schlechter wartbar, da wenn ich ein Element hinzufügen will entweder die Zeile lösche und dann beide Elemente in den Konstruktor schreibe oder die Zeile kopieren und den Index ändern.
Bei meiner .length brauch' ich nur die Zahl ändern, wenn ich einen andere Länge möchte...
ich auch nicht, außer bei obigem fall würde ich es, wenn er nicht rein theoretisch wäreIch verwende den Array-Konstruktor nie, hab' das bis jetzt noch nie bereut und empfehle es deswegen allen.
Davon:von welchem fall redest du jetzt?
var arr = []; a.length = 10;
Genau hier bin ich anderer Meinung. Höhere Wartungsstabilität und Fehlerresistenz für Null Mehraufwand sind für mich ein Grund.weil es dafür keinen grund gibt
und wo ist dort weniger zu ändern, als bei var arr = new Array(10);? in beiden fällen wird die 10 durch ne 11 ersetzt, wenn du ein element mehr haben möchtest.Davon: