substr(x) spezifiziert?
MudGuard
- javascript
Hi,
laut SelfHTML (http://de.selfhtml.org/javascript/objekte/string.htm#substr) benötigt die String-Methode substr() 2 Parameter.
Ist das nur Zufall oder irgendwo spezifiziert, daß substr mit nur einem Parameter auch funktioniert (meine Browser IE 5.5, 6.0, Opera 7.53, 8.01, Firefox 1.0.4, Mozilla 1.7.3) geben alle den Teilstring ab dem gegebenen Index bis zum Ende zurück).
Sprich: kann ich mich darauf verlassen, daß das so funktioniert?
Wenn das tatsächlich spezifiziert wäre, würd ich einen Bug Report für die Selfhtml-Seite eintragen ...
cu,
Andreas
Moin,
Wenn das tatsächlich spezifiziert wäre, würd ich einen Bug Report für die Selfhtml-Seite eintragen ...
Laut ECMA-Script-Spezifikation http://www.mozilla.org/js/language/E262-2.pdf (Seite 89) ist beides möglich
Pkt. 15.5.4.9 String.prototype.substring(start)
und
Pkt. 15.5.4.10 String.prototype.substring(start, end)
SteBu
Hi,
Laut ECMA-Script-Spezifikation http://www.mozilla.org/js/language/E262-2.pdf (Seite 89) ist beides möglich
Pkt. 15.5.4.9 String.prototype.substring(start)
Pkt. 15.5.4.10 String.prototype.substring(start, end)
Hm. Dort finde ich keinen Hinweis zu substr - nur zu substring.
cu,
Andreas
OK, dann halt ganz genau.
http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:String:substr
Dort ist ersichtlich, das der 2 Parameter optional ist.
Laut ECMA-Script-Spezifikation http://www.mozilla.org/js/language/E262-2.pdf (Seite 89) ist beides möglich
Pkt. 15.5.4.9 String.prototype.substring(start)
Pkt. 15.5.4.10 String.prototype.substring(start, end)Hm. Dort finde ich keinen Hinweis zu substr - nur zu substring.
Siehe http://bclary.com/2004/11/07/ecma-262.html#annex-b
B.2 Additional Properties
Some implementations of ECMAScript have included additional properties for some of the standard native objects. This non-normative annex suggests uniform semantics for such properties without making the properties or their semantics part of this standard.
(...)
B.2.3 String.prototype.substr (start, length) [hier nicht als optional gekennzeichnet]
(...)
[aber:] If length is undefined, use +∞ ; otherwise call ToInteger(length).
Hi,
Wenn das tatsächlich spezifiziert wäre, würd ich einen Bug Report für die Selfhtml-Seite eintragen ...
Bei der Gelegenheit: substr() existiert übrigens erst seit JS 1.1 (schon da mit optionalem 2. Paramter) und nicht seit 1.0.
D.h., NS 2.0 kennt nur substring() - erst NS 3.0 kennt auch substr(). Wie es sich mit dem IE 3.0 und 3.0a verhält, weiß ich jetzt allerdings nicht mehr.
Außerdem wenn Du schon dabei bist ;-): Auch bei substring() ist der 2. Parameter selbstredend optional.
Gruß, Cybaer
substr() existiert übrigens erst seit JS 1.1 (schon da mit optionalem 2. Paramter) und nicht seit 1.0.
Nein, substr() existiert seit JavaScript 1.2.
Hier liegt selbst ein Fehler in der Spezifikation vor:
http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/string.html#1194618
»Implemented in JavaScript 1.0, NES 2.0« Das hat SELFHTML wohl übernommen. Am Anfang der Seite hingegen: »JavaScript 1.2, NES 3.0: added concat, match, replace, search, slice, and substr methods.« Und das stimmt auch: http://web.archive.org/web/20001215111400/http://devedge.netscape.com/docs/manuals/communicator/jsref/corea2.htm ist die ursprüngliche JavaScript-1.2-Spezifikation, die substr() erstmals definiert. Vergleiche JavaScript 1.1: http://web.archive.org/web/19970615202032/developer.netscape.com/library/documentation/communicator/jsref/ref_s-s.htm#870
Mathias
Hi,
Nein, substr() existiert seit JavaScript 1.2.
Mist, ich vertue mich da immer, weil ich auf substr() deswegen i.d.R. ohnehin verzichte. >;->
Auf dem IE ist es auch erst ab dem 4er drin.
Gruß, Cybaer