Christoph Schnauß: "function public()" in mozilla/Netscape nicht zulässig?

hallo Forum ;-)

eigentlich könnte das ja beinahe ein "*g* zum Wochenende" sein ... Ich habe in einem umfangreicheren JS-File (eine Javascript-Navigation) unter´anderem völlig arglos eine Funktion "public()" eingebaut. Solange ich das mit dem IE getestet hab, ging auch alles ganz prima, meine Funktion "public()" soll an einer bestimmten Stelle bei Mausklick einfach nur einen verborgenen Layer sichtbar machen. Sie wird also ersat bei Mausklick angesprochen, und es gibt im ganzen JS-File noch zwei Dutzend andere Funktionen ...
Der IE hat das also problemlos mitgemacht und ich habe fleißig gebastelt. Als alles fertig war, hab ichs mal mit mozilla zur Kontrolle angeschaut  -  und da passierte gar nix. Die Javascript-Konsole sagte mir, es werde von "function public()" ein Objekt erwartet. Bloß: das "Objekt" stand ja im Script. Nach etwas Haareausraufen hab ich in einem Anfall von Erleuchtung meine Funktion einfach nach "pub()" umbenannt  -  und siehe da, mozilla/Netscape hatte nix mehr dagegen.

Frage jetzt: ist der Terminus "public" irgendwie von Gecko als Systemausdruck belegt und daher nicht frei verwendbar? Oder was hat mir da mozilla für Sachen vorgespielt?

Grüße aus Berlin

Christoph S.

  1. Hi,

    public entstammt der Objektorientierten Programmierung in Java.

    und ist demnach ein reserviertes Wort in JavaScript (vielleicht wirds da auch irgendwann mal gebraucht)

    -->
    http://selfhtml.teamone.de/javascript/sprache/reserviert.htm

    deshalb darfst du es nicht benutzen.

    Gruß
    Christian

    1. hallo,

      public entstammt der Objektorientierten Programmierung in Java.
      und ist demnach ein reserviertes Wort in JavaScript

      Der Zusammenhang von JAVA und Javascript, den du hier konstruierst, ist garantiert nicht korrekt, macht aber nix.

      http://selfhtml.teamone.de/javascript/sprache/reserviert.htm

      ups, erwischt ;-) Aber weil da "noch nicht verwendet" steht, hab ich das bisher überlesen.

      Mich hat irritiert, daß der IE das erstmal völlig kommentarlos mitmachte. In der Regel achte ich darauf, daß meine Funktionen Namen bekommen, die ungefähr etwas mit dem zu tun haben, was sie machen sollen. Eine Funktion "boolean" oder "abstract" zu nennen, wird mir bei diesem Prinzip kaum unterlaufen, aber mit "public" ist es jetzt halt mal passiert.

      Ich werde mal die ganze Liste der reservierten Ausdrücke mit dem IE durchspielen (IE6), um zu sehen, was er dazu sagt.

      Grüße aus Berlin

      Christoph S.

      1. Hi,

        public entstammt der Objektorientierten Programmierung in Java.
        und ist demnach ein reserviertes Wort in JavaScript
        Der Zusammenhang von JAVA und Javascript, den du hier konstruierst, ist garantiert nicht korrekt, macht aber nix.

        Ja, das "demnach" ist nicht gut! haste recht. aber ich denke schon, das man es reserviert hat, da es sprachbestandteil von java ist, genauso wie abstract...

        Christian

  2. Frage jetzt: ist der Terminus "public" irgendwie von Gecko als Systemausdruck belegt und daher nicht frei verwendbar? Oder was hat mir da mozilla für Sachen vorgespielt?

    hehe, das gleiche hat ich letztens mit Netscape 6.x

    In allen Browsern inkl. MZ lief das Skript nur Netscape 6. meldete einen obskuren Fehler, es lag daran, dass eine Funktion 'getClass()' hiess.

    Struppi.