Gunnar Bittersmann: "A"+n.toString() vs. "A"+n

Beitrag lesen

(toString() ist auch unnötig, denn wenn man Numberwert + Stringwert notiert, kommt immer ein Stringwert heraus. Aber explizite Typenumwandlung schadet natürlich nicht, vor allem wenn einem diese Regeln noch nicht selbstverständlich im Hinterkopf liegen.)

IMHO lieber sauber aufschreiben. Durchführen muss der Interpreter die Typenumwandlung sowieso.

Die Frage ist, wie es das tut. Aufgeschreckt durch den Vergleich von "A".concat("B") vs. "A"+"B" hab ich "A"+n.toString() gegen "A"+n antreten lassen:

  n = 1;  
  var start = new Date();  
  for (i = 0; i != 50000; i++)  
    "A"+n.toString();  
  var stop = new Date();  
  alert (stop.getTime() - start.getTime());

(und das Ganze ohne ".toString()")

Ergebnis:
   IE 5   Firefox 1.0.2
"A"+n    1.3s   2.6s
"A"+n.toString()   2.0s   5.5s

(1) "A"+n ist deutlich schneller als "A"+n.toString()

(2) Der IE ist der bessere Browser. >;-> Frisst die JavaScript-Konsole des FF so viel Zeit?

Live long and prosper,
Gunnar

--
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)