MudGuard: substr(x) spezifiziert?

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

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  1. 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

    1. 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

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. 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.

      2. 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).

  2. 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

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. 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

      1. 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

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!