Robert: zeiger in javascript

Hallo!

Simple Frage!
Kann man in Javascript Zeiger auf eine Variable erstellen oder muss man sich mit funktionen und ojekten die das erledigen zufrieden geben?

Falls man es kann
dann würd auch gern wissen wie.
???? var pointer = &variable ????

danke
Robert

  1. Ich glaube, da hast du keine Chance. Wozu brauchst du überhaupt die Adresse einer js-var...? und was stellst du dir unter "funktionen und objekten die das erledigen" vor?

    Thilo

    1. Wozu brauchst du überhaupt die Adresse einer js-var...? und was stellst du dir unter "funktionen und objekten die das erledigen" vor?

      Es ist so.
      Stell dir vor du machst eine function die je nach layer entscheidet ob man document.body.scrollTop oder pageYOffset oder ... in die variable scroll speichert.
      Diese function wird in einem intervall immer wieder geholt.
      Das würde heißen es müsste jedes mal
      if(document.layers) scroll=pageYOffset;
      else if (document.body.scrollTop) scroll=document.body.scrollTop...
      passieren. wenn ich das nun in mehrere ifunctionen schreibe sieht das sehr unschön aus.
      Schön wäre es wenn ich am anfang in einer function einen zeiger scroll jenach browser auf document.body.scrollTop oder pageYOffset ... stelle und dann die ganzen if weglasse und nur scroll statt dessen benutze. Denn wenn sich scrollTop oder pageYoffset oder ... ändert, ändert sich auch der Zeiger scroll, weil er eben ein zeiger ist.
      Ich koennte das auch mit functionen bewältigen:
      function zeigeraufscrollTop()
      {
      if(document.layers)return pageYOffset;
      if(documet.body.scrollTop) return scrollTop;....
      }

      und dann immer statt einem zeiger zeigeraufscrollTop() eingeben doch ich will es trotzdem wissen == neugier.
      danke
      MFG Robert

      1. Ich koennte das auch mit functionen bewältigen:
        function zeigeraufscrollTop()
        {
        if(document.layers)return pageYOffset;
        if(documet.body.scrollTop) return scrollTop;....
        }

        und dann immer statt einem zeiger zeigeraufscrollTop() eingeben doch ich will es trotzdem wissen == neugier.

        In deinem Fall, würd ich es auch mit einer Funktion machen, das ist auf jeden Fall übersichtlicher, zumal i.d.r. ja noch mehr Bedingungen auftreten können.

        Aber was du willst geht und zwar ganz einfach:

        function test()
        {
            alert('test');
        }

        var zeiger = test;

        zeiger();

        Ist zwar kein Zeiger, aber mit Referenzen kann man ja ähnlich arbeiten.

        Struppi.

        1. var zeiger = test;

          zeiger();

          Das wusste ich  garn nicht.
          Und was ist wenn test() einen parameter verlangt muss ich den dann
          nach var zeiger=test; immer wieder eingeben?
          z.B zeiger(parameter);

          1. Und was ist wenn test() einen parameter verlangt muss ich den dann
            nach var zeiger=test; immer wieder eingeben?
            z.B zeiger(parameter);

            probieren geht über studieren ;-)

            Struppi.

  2. Hallo Robert,

    keine Sorge, ich habe auch dein Folgeposting im gleichen Thread schon gelesen, weiß also jetzt, worauf du ansprichst.

    Kann man in Javascript Zeiger auf eine Variable erstellen oder muss man sich mit funktionen und ojekten die das erledigen zufrieden geben?

    JS und Zeiger auf Daten (oder gar auf Funktionen) sind zwei Dinge, die man nicht zusammenbringt. Die Implementierung von Zeigern würde ja indirekt bedeuten, dass man in das Speichermanagement der Script Engine eingreifen könnte - und da wäre ich mal gaaanz vorsichtig. Ich kenne die Zeiger-Problematik z.B. in C nur zu gut, und ich weiß, wieviel Durcheinander (bis hin zum totalen Systemcrash) man durch fehlerhafte Verwendung von Zeigern anrichten kann. Auch angeblich stabile Betriebssysteme *höhn* wie Windows NT (ganz übel!) oder Windows 2k (nicht viel besser) sind davor nicht sicher, und - bei allem Respekt - vermutlich auch Linux nicht.

    Bist du jetzt immer noch sicher, dass du Zeiger in JS wirklich haben möchtest??

    Schönen Abend noch,

    Martin

    1. Ich verstehe
      Danke es leuchtet mir ein.
      wahr aber nur neugier
      MFG Robert

      Bist du jetzt immer noch sicher, dass du Zeiger in JS wirklich haben möchtest??

      Ja

  3. Die Antwort auf deine Frage ist: NEIN!
    Es gibt keine Zeiger in Javascript. Du kannst jedoch Zeiger künstlich herstellen, indem du Objekte kreierst.

    Grüße,
    Wolfram