Timo "God's Boss" Reitz: Interne public static member nicht aufrufbar

Beitrag lesen

Ja schon aber wieso musst du erst

t1()
aufrufen, damit bei t1.v2 der wert 2 gelesen wird? Warum ist beim ersten abfragen von t1.v2 der wert undefined? Das ist meine eigentliche Frage!

Weil die Funktion nicht ausgeführt wurde! Eine JavaScript-Funktionsdefinition ist etwas anderes als eine Java-Klassendefinition.

<script type="text/javascript">
function SomeClass() {
  SomeClass.hallo = "hallo"; <-- hier definiere ich einen public static member
}

Nein. Wie kommst du darauf? In welcher JavaScript-Dokumentation steht, dass so (ohne weitere Befehle) ein public static member definiert wird?
function SomeClass() { // Hier beginnt eine *Funktion*sdefinition!

SomeClass.hallo = "hallo"; // Dies ist eine Befehlszeile, die erst ausgeführt wird, sobald die Funktion SomeClass aufgerufen wird (dann aber immer wieder).  
}  
alert(SomeClass.hallo); // Ergibt "undefined", da die oben genannte Befehlszeile nie ausgeführt wurde.

Java ist nicht JavaScript! Java hat klassenbasierte Objektorientierung eingebaut, JavaScript prototypenbaserte. JavaScript kennt Closures, Java nicht. Die beiden Programmiersprachen haben nunmal unterschiedliche Eigenschaften und du kannst nicht einfach Konstrukte aus der einen in die andere eins zu eins übertragen.

--
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
0 45

Interne public static member nicht aufrufbar

felix12
  • javascript
  1. 0
    Cheatah
    1. 0
      felix12
      1. 0
        Cheatah
        1. 0
          felix12
          1. 0
            MudGuard
            1. 0
              felix12
              1. 0
                Struppi
                1. 0
                  Patrick Andrieu
                  1. 1
                    peterS.
                    1. 0
                      Patrick Andrieu
                    2. 0
                      felix12
                2. 1

                  *private static* durch umschliessende anonyme *function stacks*

                  peterS.
                  1. 0
                    felix12
                    1. 0
                      Struppi
                      1. 0
                        felix12
                        1. 2

                          klassenlose vollwertige und flexible oo auf funktionaler basis

                          peterS.
                          1. 0
                            felix12
                            1. 0
                              felix 12
                            2. 0
                              Struppi
                              1. 0
                                felix12
                            3. 1

                              vererbung / delegationsprinzipien

                              peterS.
                              1. 0
                                felixcat
                                1. 1

                                  »[Function].arguments.callee« versus »arguments.callee«

                                  peterS.
                                  1. 0
                                    felix12
      2. 0
        Kai345
        1. 0
          felix12
          1. 0
            ChrisB
            1. 0
              felix12
              1. 0
                Struppi
                1. 0
                  felix12
                  1. 0
                    Struppi
                    1. 0
                      felix12
                      1. 0
                        Struppi
                      2. 1

                        einfache objekte/namensraeume und singleton-konstrukte

                        peterS.
                        1. 0
                          Struppi
              2. 2
                Timo "God's Boss" Reitz
                1. 0
                  felix12
                  1. 0
                    Kai345
                    1. 0
                      felix12
                      1. 0
                        Kai345
                        1. 0
                          Kai345
                          1. 0
                            felix12
                            1. 0
                              Kai345
  2. 4
    molily