Benz: Variablennamen dynamisch

Okay, ich mache einen neuen Thread auf, der alte war total falsch am Platz und der "Fehler" aus dem Titel ist auch behoben. Vielleicht kann den jemand löschen?

Die Funktion müsste jetzt doch fast richtig sein, mache gute Fortschritte, allerdings funktioniert das "Zusammenbauen" der Variablen nicht so wie in PHP, habe ich den Eindruck.

var user_anzahl=9;
alert(('user_'+'a'+'nzahl'));

gibt mir "user_anzahl" aus und nicht "9". Kann ich die Ausgabe von "9" in Javascript mit aus Strings zusammengebauten Variablennamen irgendwie erreichen?

Mfg
und viele Dank an das super Forum hier, dass ihr euch selbst für einen dermaßen verkorksten Thread Zeit nehmt. Ich hoffe, ich habe auch bald einen Wissensstand erreicht, um ein wenig mitzuhelfen!

  1. Hallo Benz,

    var user_anzahl=9;
    alert(('user_'+'a'+'nzahl'));

    gibt mir "user_anzahl" aus und nicht "9". Kann ich die Ausgabe von "9" in Javascript mit aus Strings zusammengebauten Variablennamen irgendwie erreichen?

    So geht's:

    var user_anzahl=9;
    alert( this['user_'+'a'+'nzahl']);

    Die Variable "user_anzahl" ist eine Eigenschaft des aktuellen Objekts "this". Durch die eckigen Klamern weiss das auch der Compiler, und alles wird gut.

    Gruß, Don P

    1. Hello out there!

      So geht's:

      var user_anzahl=9;
      alert( this['user_'+'a'+'nzahl']);

      Das hängt davon ab, was 'this' ist. Von "gehen" kann keine Rede sein.

      window.onload = function ()  
      {  
        var user_anzahl=9;  
        alert(this['user_'+'a'+'nzahl']);  
      };
      

      liefert "undefined".

      See ya up the road,
      Gunnar

      --
      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
      1. Danke erstmal!

        window.onload = function ()

        {
          var user_anzahl=9;
          alert(this['user_'+'a'+'nzahl']);
        };

        
        >   
        > liefert "undefined".  
          
          
        So leider auch bei mir, mein Beispiel war wohl für diesen Fall unzureichend. Ich möchte gerne auf Variablen zugreifen, die ausserhalb der Funktion, in der ich sie verwende, deklariert wurden (wenn der Bereich der Deklaration überhaupt eine Rolle spielt - auf jeden Fall bin ich in einer Funktion und noch eine for- und eine if-Schleife tiefer).  
          
        Wie müsste dann der Aufruf aussehen?  
        MfG
        
        1. Hallo,

          Tatsächlich kommet es darauf an, was "this" jeweils ist.

          Du kannst es so machen wie @Gunnar oben geschrieben hat, aber dazu möglichst *nicht* ein Array deklarieren, sondern ein normales Objekt:

          var foo = {};

          foo['user_anzahl'] = 9;
          alert(foo['user_'+'a'+'nzahl']);

            
          Aber auch hier musst du aufpassen, dass foo beim Aufruf auch bekannt ist.  
            
          Gruß, Don P
          
          1. Hello out there!

            Du kannst es so machen wie @Gunnar oben geschrieben hat,

            Was heißt "oben"? Die Bezeichnung ist irreführend; die Postings eines Threads lassen sich (wie die Threads auch) aufsteigend oder absteigend sortieren. Und wenn der Thread ins Archiv wandert, dann ist "oben" unten.

            aber dazu möglichst *nicht* ein Array deklarieren, sondern ein normales Objekt:

            Sagte ich auch "weiter unten". ;-)

            See ya up the road,
            Gunnar

            --
            „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
            1. Hi,

              Was heißt "oben"? Die Bezeichnung ist irreführend; die Postings eines Threads lassen sich (wie die Threads auch) aufsteigend oder absteigend sortieren. Und wenn der Thread ins Archiv wandert, dann ist "oben" unten.

              Ok, ok, ich hoffe du bist jetzt nicht bitter, Mann ;)

              Mit dem Aufbau dieses Forums hatte ich schon immer Schwierigkeiten. Ist seeehr gewöhnungsbedürftig, alles andere als intuitiv zu bedienen. Zu den Geheimnissen einer Sortierung bin ich noch nicht vorgedrungen...

              Gruß, Don P

              1. Hello out there!

                Mit dem Aufbau dieses Forums hatte ich schon immer Schwierigkeiten.

                Ich nie.

                Ist seeehr gewöhnungsbedürftig, alles andere als intuitiv zu bedienen.

                Alles andere widerspräche meiner Intuition. Aber YMMV.

                Zu den Geheimnissen einer Sortierung bin ich noch nicht vorgedrungen...

                Was ist daran geheimnisvoll?

                See ya up the road,
                Gunnar

                --
                „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                1. YMMV?

                  Zu den Geheimnissen einer Sortierung bin ich noch nicht vorgedrungen...

                  Was ist daran geheimnisvoll?

                  Na, erst mal muss man die Seite finden (solche Sortiermöglichkeiten gehören auf jede Page, nicht irgendwo in die Benutzerkonfiguration, die man auch nur schwer findet.

                  Weiterhin: Was soll "Sortierung der Threads: Aufsteigend/Absteigend" bedeuten? Nach Alphabet etwa? Wenn ja, ist dann das Thema gemeint oder der Verfasser, und welchen Sinn sollte das jeweils haben?"

                  Dann die Bewertungsmöglichkeit: Es gibt einen Hinweis, dass man registriert sein muss, ok. Bin ich ja, aber wo zu Geier ist der Button zum Bewerten? Ach so, man muss eingeloggt sein! Warum steht das dann nicht so da? Und wie bitte kann ich mich einloggen? So einen Button findet man auch nicht.

                  Und überhaupt die seltsame Sortierung: Die Beiträge eines Threads stehen untereinander schön eingerückt, super, aber halt doch nicht chronologisch. Wenn ich als letzter dem ersten Posting antworte, steht mein Beitrag ganz oben. Geht's bitte noch ein bisschen verwirrender?

                  Das Archiv ist eine einzige Katastrophe. Totales ducheinander. Nicht mal nach Rubriken kann man filtern, jedenfalls ich nicht, weil für mich nirgends ersichtlich ist, wie das gehen könnte.

                  Es würde mir noch mehr einfallen, aber dann schreibe ich morgen noch daran...

                  Gruß, Don P

                  1. Na, erst mal muss man die Seite finden (solche Sortiermöglichkeiten gehören auf jede Page, nicht irgendwo in die Benutzerkonfiguration, die man auch nur schwer findet.

                    Das siehst Du so, die Entwickler der Software sehen es anders. Mein Vorschlag: Probiere die verschiedenen Sortierungen aus. Ansonsten hast Du als registrierter Benutzer die Möglichkeit einer Listenansicht, was dann schließlich wie ein Board aussieht.

                    Weiterhin: Was soll "Sortierung der Threads: Aufsteigend/Absteigend" bedeuten? Nach Alphabet etwa? Wenn ja, ist dann das Thema gemeint oder der Verfasser, und welchen Sinn sollte das jeweils haben?"

                    Die Sortierung erfolgt, wie in jedem Forum oder Board üblich, nach Datum. Details dazu findest Du in der Forumshilfe.

                    Dann die Bewertungsmöglichkeit: Es gibt einen Hinweis, dass man registriert sein muss, ok. Bin ich ja, aber wo zu Geier ist der Button zum Bewerten? Ach so, man muss eingeloggt sein! Warum steht das dann nicht so da? Und wie bitte kann ich mich einloggen? So einen Button findet man auch nicht.

                    Also bitte, was ist an "Benutzerspezifische Ansicht" so schwer zu verstehen? Und dass man sich *anmelden* muss, bevor man alle Funktionen eines Webangebotes nutzen kann, ist nicht nur in diesem Forum so.

                    Und überhaupt die seltsame Sortierung: Die Beiträge eines Threads stehen untereinander schön eingerückt, super, aber halt doch nicht chronologisch. Wenn ich als letzter dem ersten Posting antworte, steht mein Beitrag ganz oben. Geht's bitte noch ein bisschen verwirrender?

                    Siehe Sortiermöglichkeiten.

                    Das Archiv ist eine einzige Katastrophe. Totales ducheinander. Nicht mal nach Rubriken kann man filtern, jedenfalls ich nicht, weil für mich nirgends ersichtlich ist, wie das gehen könnte.

                    Du kennst die Suchfunktion? Da ist genau erklärt, was Du wie und wo suchen kannst. Kleines Beispiel gefällig: "+author:donp +category:Javascript".

                    Es würde mir noch mehr einfallen, aber dann schreibe ich morgen noch daran...

                    Weißt Du, genau solche Meckerpostings haben einen Entwickler (der Forensoftware) nach dem anderen aus diesem Forum vertrieben. Ist es wirklich so schwer, sich in Ruhe mit den Benutzereinstellungen zu befassen und die Hilfe dazu zu lesen? Ich gebe zu, dass einen die Möglichkeiten, die einem registrierten Benutzer zur Verfügung stehen, auf den ersten Blick erschlagen, doch wenn man eine Weile damit experimentiert hat, hat bisher noch jeder User eine Konfiguration gefunden, die seinen Wünschen am nächsten kommt. Und wenn Dir das alles noch nicht ausreicht, dann schreibe Dir ein User-JS und/oder ein User-Stylesheet, welches das Forum so darstellt, wie es Dir am besten gefällt.

                    Die Philosophie der Software ist es, Geschwindigkeit mit einer Vielzahl an Personalisierungen zu vereinen, Details dazu kannst Du auf der Projektseite nachlesen. Ich bitte Dich daher, bevor Du das nächste Mal auf die Forensoftware schimpfst, Dich erstmal mit ihr vertraut zu machen. Das ist wie eine Freundschaft, die auch erstmal wachsen muss. Und ist eine echte Freundschaft entstanden, sieht man über so manches Detail des Gegenübers gerne hinweg :)

                    Siechfred

                    --
                    Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
                    1. Sorry, ich wollte nicht über Gebühr meckern, und schon gar nicht Entwickler der Forensoftware vertreiben, das sei ferne! Finde dieses Forum gut und halte mich, seit ich es kenne (noch nicht lange), auch gerne hier auf. Was ich vor allem gut finde, dass es echt kompetente Leute gibt und man viel lernen kann. Noch besser ist natürlich das ganze SELFHTML, Kompliment!. Und alles Werbefrei. Wie macht ihr das eigentlich?

                      Es hat mich nur sehr gewundert, dass hier jemand "noch nie" Probleme mit dem Aufbau des Forums hatte und alles intuitiv bedienbar findet.

                      Da musste ich dann schon etwas dazu sagen. Es ist ja nicht das erste Forum, das ich besuche, und auch nicht das einzige, das erst mal nicht wie ein Board aussieht, auch bin ich nicht gerade ein DAU, aber es bereitet mir nunmal Schwierigkeiten, mich zurecht zu finden. Denke halt, man könnte es besser machen, aber ich kann auch so damit leben.

                      Natürlich kann man probieren und suchen und langsam dahinter steigen, aber ich meine eben, so eine Oberfläche sollte möglichst durchsichtig und selbsterklärend sein. Ein Werbeslogan lautete mal "Und immer an die Leser denken!". Will sagen, der Computer und die Oberfläche ist für uns Menschen da, nicht umgekehrt.

                      Es könnte ja noch schlimmer sein ;), man denke z.B. an einen Link mit dem Linktext "Infos". Ich meine, was soll man denn sonst hinter einem Link erwarten, wenn nicht irgendwelche Infos?

                      Dass man zum Einloggen "Benutzerspezifische Ansicht" klicken muss, ist nun wirklich nicht selbstverständlich, oder? Überall sonst heisst es "Registrieren" und "Einloggen", das versteht man dann auch.

                      Tatsächlich hatte ich von Anfang an den Eindruck, dass da Puristen am Werk sind, die partout verhindern wollen, dass das Forum irgend einem anderen gleicht. Habe auch schon daran gedacht, dass die schwere Bedienbarkeit volle Absicht ist, um Trolle und andere unerwünschte Besucher davon abzuhalten, Geschmack daran zu finden. Das wäre sogar eine akzeptable Maßnahme.

                      Also nichts für ungut. Werde mich in Zukunft mit Kritik zurücknehmen, denn ihr scheint ja längst zu wissen, dass manche hier nur schwer zurecht kommen, wie sonst hätten einige Meckerer auch Entwickler vertreiben können?

                      Gruß, Don P

                      1. Hallo,

                        Sorry, ich wollte nicht über Gebühr meckern, und schon gar nicht Entwickler der Forensoftware vertreiben, das sei ferne!

                        der Hauptentwickler hat sich leider schon vor einiger Zeit aus dem Projekt zurückgezogen, und wir wollen nicht hoffen, dass weitere es ihm nachtun.

                        Es hat mich nur sehr gewundert, dass hier jemand "noch nie" Probleme mit dem Aufbau des Forums hatte und alles intuitiv bedienbar findet.

                        Ah, doch, Kritik in der Art, wie du sie äußerst, schlägt hier öfter mal auf (meistens wesentlich barscher und unfreundlicher). Aber die meisten erkennen dann nach einer gewissen Eingewöhnung, dass ihnen diese Form wesentlich mehr bietet (mehr Möglichkeiten *und* mehr Übersichtlichkeit) als die meisten Board-Systeme, die sie bis dahin kannten. Gerade das übersichtliche Threading, die Baumansicht, fand ich von Anfang an gut.

                        Okay, dass es in der Defaulteinstellung sehr merkwürdig sortiert ist (nämlich umgekehrt chronologisch innerhalb derselben Hierarchieebene, aber vorwärts chronologisch von einer Schachtelungsebene zur nächsten), hat mich anfangs auch sehr gestört - bis ich mich mal registriert habe und dann für mich eine "natürliche" konsequent-chronologische Sortierung einstellen konnte.

                        Dass man zum Einloggen "Benutzerspezifische Ansicht" klicken muss, ist nun wirklich nicht selbstverständlich, oder? Überall sonst heisst es "Registrieren" und "Einloggen", das versteht man dann auch.

                        Schon, aber hier gibt es ja kein "Einloggen" im herkömmlichen Sinn. Es gibt nur den /my/-Bereich, in dem jeder seine persönlichen Einstellungen vorgesetzt bekommt, der sich erfolgreich per HTTP-AUTH zu erkennen gibt. Und da HTTP-AUTH eigentlich kein Login-Mechanismus ist, wäre es irreführend, ihn so zu bezeichnen (es gibt ja auch kein Logout).

                        Tatsächlich hatte ich von Anfang an den Eindruck, dass da Puristen am Werk sind, die partout verhindern wollen, dass das Forum irgend einem anderen gleicht.

                        Das ist möglicherweise gar nicht so ganz von der Hand zu weisen ...

                        Habe auch schon daran gedacht, dass die schwere Bedienbarkeit volle Absicht ist, ...

                        Also, ich hab's schon öfter gesagt: Das hier war das erste Board oder Forum, in dem ich mich sofort auf Anhieb zurechtgefunden habe. Okay, manche Feinheiten habe ich erst im Lauf der Zeit rausgefunden, aber das war nicht weiter schlimm.

                        Also nichts für ungut. Werde mich in Zukunft mit Kritik zurücknehmen, denn ihr scheint ja längst zu wissen, dass manche hier nur schwer zurecht kommen, wie sonst hätten einige Meckerer auch Entwickler vertreiben können?

                        Ich glaube, das hat noch andere Gründe. :-(

                        Ciao,
                         Martin

                        --
                        Time's an illusion. Lunchtime doubly so.
                          (Douglas Adams, "The Hitchhiker's Guide To The Galaxy")
                      2. Werde mich in Zukunft mit Kritik zurücknehmen, denn ihr scheint ja längst zu wissen, dass manche hier nur schwer zurecht kommen, wie sonst hätten einige Meckerer auch Entwickler vertreiben können?

                        Das, was jeden (nicht nur Softwareentwickler) nervt, ist die Tatsache, dass 99% des Feedbacks negativ ist. Die Gründe, die den Erfinder des CForum zum Ausstieg bewogen haben, kannst Du in seinem Blog nachlesen: Das Malheur mit dem Open Source. Mach' Dir ruhig die Mühe, alles einschließlich der Kommentare zu lesen, vielleicht verstehst Du meine Reaktion dann etwas besser.

                        Siechfred

                        --
                        Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
                        1. Hallo Siechfred,

                          Ok, ich hab's gelesen, bzw. alles überflogen. Verstanden hab ich so viel:

                          Jemand hat sich jahrelang abgemüht, ein CForum (anscheinend dieses hier) zu entwickeln und hat – zumindest seinem Gefühl nach – statt Unterstützung nur harsche Kritik geerntet, so dass es ihn schließlich abgelöscht hat und soweit brachte, allgemein die Machbarkeit von Open Source in Europa anzweifeln. Das ist sehr bedauerlich aber rein menschlich auch verständlich.

                          Ebenfalls lese ich, auch zwischen den Zeilen, dass dieser zwar ein genialer Programmierer ist, aber eher weniger ein begnadeter Künstler, was das Oberflächendesign betrifft (Bug-Report-Software), das ist hier auch mein Eindruck, wie gesagt. Weiterhin, dass er auch konstruktiv gemeinte Kritik eher mal persönlich zu nehmen schien, und/oder nicht darauf einging, weil ihm der Ton nicht gefiel. Letzteres ist ebenfalls sehr bedauerlich, ersteres aber völlig normal. Man kann ja nicht alles können bzw. in allem gleich gut sein, sollte aber seine Schwächen auch kennen und gerade diesbezüglich dann auch Hilfe bzw. Anregungen annehmen können.

                          Eine Software kann intern vom allerfeinsten funktionieren mit tausenden bestaunenswerten Features, wenn diese aber an der Oberfläche überwiegend als schwer durchschaubares Chos erscheinen, nützt das dem Projekt wenig. Ich kann mich nur wiederholen: Computer bzw. Software ist für uns Menschen da, nicht umgekehrt. Wenn ich mir angesichts einer vielleicht genialen Software erst stunden- oder tagelang den Kopf zerbrechen muss, was sich der Programmierer vielleicht dabei gedacht haben könnte, die Bedienelemente so oder so anzuordnen oder gar ganz wegzulassen, obwohl sie bei jeder ähnlichen Software (vom Zweck her) meistens so oder so bezeichnet und leicht erreichbar sind, was soll ich dann davon halten?

                          Z.B. die Tatsache, dass ein HTTP-AUTH kein wirkliches Login ist, interessiert doch den Benutzer eines Forums herzlich wenig, zumal das auch kaum jemand weiß. Wenn Benutzname und Passwort abgefragt werden, kennt das jeder als "Login" oder "Anmeldung", und wenn jemand solche Eingaben machen möchte, sucht er eine Login- oder oder Anmelde-Möglichkeit, die auch so bezeichnet ist. Das sollte doch wirklich nicht schwer nachzuvollziehen sein.

                          Ich selbst komme beruflich aus der technischen Redaktion/Dokumentation. Das ist ein eigener Berufszweig, den es deswegen gibt, weil Ingenieure und Entwickler allzu oft zwar technisch gut sind, aber sprachlich bzw. didaktisch bzw. präsentationsmäßig dafür weniger. Open Source ist vor allem auch Teamarbeit, die aber kaum zu machen ist, wenn ein Boss das meiste abschmettert, was vom Team an ihn herangetragen wird, entweder weil er es rein technisch anders will, oder weil ihm der Ton nicht gefällt. In den Kommentaren zum verlinkten Blog klingen gerade solche Vorwürfe stark durch. Möglicherweise waren sie ja berechtigt.

                          Gruß, Don P

                          1. Moin Don.

                            Eine Software kann intern vom allerfeinsten funktionieren mit tausenden bestaunenswerten Features, wenn diese aber an der Oberfläche überwiegend als schwer durchschaubares Chos erscheinen, nützt das dem Projekt wenig.

                            Das ist die bestehende Diskrepanz zwischen Entwickler und Dokumentierer. Nicht umsonst werden Softwaredokumentationen in den seltensten Fällen von den Entwicklern selber geschrieben. Ich bin zwar kein begnadeter Programmierer, aber bin durchaus in der Lage zu dokumentieren. Diese Hilfe kann ich anbieten, so wie andere ihre Hilfe in designtechnischen Fragen anbieten können (z.B. hat Schuer das Design von wwwtech.de kreiert, Jeena Paradies das von kennt-wayne.de, während meine Winzigkeit sich an der Dokumentation von Jlog versucht hat).

                            Ich kann mich nur wiederholen: Computer bzw. Software ist für uns Menschen da, nicht umgekehrt.

                            Sie wird aber auch von Menschen entwickelt, und es liegt in der Natur des Menschen, dass er für etwas, was er geschaffen hat, gelobt werden will. Und leider ist es so, dass eine Kritik oftmals 10 lobende Worte zunichte macht, auch das liegt in der Natur des Menschen. Genauso wie Entwickler oft nicht in der Lage sind, ihr Produkt an den Mann zu bringen, ist die Zielgruppe einer Software oft nicht in der Lage, konstruktives Feedback und auch mal Lob rüberzubringen. Das scheint mir insbesondere im OpenSource-Bereich die Crux zu sein. Ich habe schon einige Projekte mangels Unterstützung sterben sehen und denke, dass die Kluft Programmierer - Anwender das Problem ist.

                            Siechfred

                            --
                            Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
                            1. Hallo,

                              Und leider ist es so, dass eine Kritik oftmals 10 lobende Worte zunichte macht, auch das liegt in der Natur des Menschen.

                              dazu kommt noch, dass auf 10 lobende Worte oft über 100 kritiserende kommen. Denn es liegt ebenfalls in der Natur des Menschen, Dinge zu kritisieren, die ihm missfallen, aber andere, die ihm gefallen, wortlos und wie selbstverständlich hinzunehmen.

                              Das scheint mir insbesondere im OpenSource-Bereich die Crux zu sein. Ich habe schon einige Projekte mangels Unterstützung sterben sehen und denke, dass die Kluft Programmierer - Anwender das Problem ist.

                              Wie wahr.
                              Vor allem dann, wenn die Anwender ein Produkt "für lau" bekommen, und dann immer noch lauthals mehr fordern. Ich erinnere mich, wie hier vor ein paar Wochen jemand ankam und Christian Seiler "angepflaumt" hat, weil er zu seiner BBCode-Bibliothek nicht auch gleich das HTML/Javascript-Frontend anbietet. So ein Verhalten finde ich dann einfach unangemessen.

                              So long,
                               Martin

                              --
                              Realität ist eine Illusion, die durch Unterversorgung des Körpers mit Alkohol entstehen kann.
                            2. Hello out there!

                              Eine Software kann intern vom allerfeinsten funktionieren mit tausenden bestaunenswerten Features, wenn diese aber an der Oberfläche überwiegend als schwer durchschaubares Chos erscheinen, nützt das dem Projekt wenig.

                              Das ist die bestehende Diskrepanz zwischen Entwickler und Dokumentierer.

                              Eher die zwischen Entwickler und Nutzer.

                              Ein Dokumentierer sollte nicht dazu da sein, die Fehler des Entwicklers auszubügeln. Also nicht „jede noch so schlechte Software ist noch gut bedienber, wenn sie gut dokumentiert ist“, sondern „eine Software sollte so gut sein, dass sie auch ohne Dokumentation (weitgehend) gut bedienbar ist“.

                              Ich habe schon einige Projekte mangels Unterstützung sterben sehen und denke, dass die Kluft Programmierer - Anwender das Problem ist.

                              Das mangelnde positive Feedback ist eine Seite der Medaille, das mangelde Verständnis der Entwickler für den Nutzer die andere. Das lässt oft zu wünschen übrig, was donp IMHO zurecht bemängelt.

                              Das gilt für open source wie für professionelle Software wie für Webseiten. Wie oft taucht hier im Forum „Ich will ...“ auf, und die Antwort „Was du willst, ist irrelevant. Was wollen die Nutzer?“ mag nicht das sein, was sich der Fragesteller erhoffte, trifft aber den Nagel auf den Kopf.

                              Wo die Entwickler nicht selbst genügend Erfahrung haben, sollten bei Projekten Usability-Experten hinzugezogen werden, und zwar von Anfang (Konzept) an, nicht erst, wenn das Kind längst in den Brunnen gefallen ist (Verschönerung der Oberfläche hilft bei generell falschem Bedienkonzept auch wenig). Diese Erkenntnis muss sich bei Entwicklern und Managern(!) erst noch durchsetzen.

                              Am 8. November ist World Usability Day.

                              See ya up the road,
                              Gunnar

                              --
                              „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                              1. Das ist die bestehende Diskrepanz zwischen Entwickler und Dokumentierer.
                                Eher die zwischen Entwickler und Nutzer.

                                Das ein neuer Aspekt.

                                Ein Dokumentierer sollte nicht dazu da sein, die Fehler des Entwicklers auszubügeln.

                                Natürlich nicht, aber ihm kommt eine nicht zu unterschätzende Vermittlerrolle zwischen beiden Beteiligten zu.

                                Also nicht „jede noch so schlechte Software ist noch gut bedienber, wenn sie gut dokumentiert ist“, sondern „eine Software sollte so gut sein, dass sie auch ohne Dokumentation (weitgehend) gut bedienbar ist“.

                                Da stimme ich Dir zu.

                                Das mangelnde positive Feedback ist eine Seite der Medaille, das mangelde Verständnis der Entwickler für den Nutzer die andere. Das lässt oft zu wünschen übrig, was donp IMHO zurecht bemängelt.

                                In Bezug auf das CForum kann ich das nicht nachvollziehen. Die Software ist nur das, was technisch abläuft, wie es nach außen präsentiert wird, ist eine Frage der verwendeten Templates, die der Anwender so gestalten kann, wie er es für richtig hält. Im hiesigen Forum hat sich halt der Begriff "Benutzerspezifische Ansicht" statt "Einloggen" etabliert, aber nochmal: Ein Spezifikum der verwendeten Software ist das keineswegs.

                                Am 8. November ist World Usability Day.

                                Ich finde es schade, dass es solcher Veranstaltungen bedarf.

                                Siechfred

                                --
                                Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
                                1. Hello out there!

                                  wie es nach außen präsentiert wird, ist eine Frage der verwendeten Templates, die der Anwender so gestalten kann, wie er es für richtig hält.

                                  Und das ist auch gut so.[tm] ISO 9241-110: Individualisierbarkeit

                                  Allerdings hat der Entwickler für vernünftige Defaults zu sorgen.

                                  Am 8. November ist World Usability Day.

                                  Ich finde es schade, dass es solcher Veranstaltungen bedarf.

                                  Naja, sie hat ja zum Ziel, sich selbst überflüssig zu machen. ;-)

                                  See ya up the road,
                                  Gunnar

                                  --
                                  „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                    2. Hello out there!

                      Weiterhin: Was soll "Sortierung der Threads: Aufsteigend/Absteigend" bedeuten? Nach Alphabet etwa? Wenn ja, ist dann das Thema gemeint oder der Verfasser, und welchen Sinn sollte das jeweils haben?"

                      Die Sortierung erfolgt, wie in jedem Forum oder Board üblich, nach Datum.

                      Warum steht das dann nicht da? "Sortierung der Threads: nach Datum aufsteigend/absteigend" ließe keine Fragen offen; in dem Punkt gebe ich donp recht.

                      Die Forumsoftware ist gut, aber nicht perfekt. An der Bezeichnung der Funktionen könnte gefeilt werden.

                      Also bitte, was ist an "Benutzerspezifische Ansicht" so schwer zu verstehen?

                      Auch dafür ließe sich bestimmt noch etwas besseres finden.

                      See ya up the road,
                      Gunnar

                      --
                      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                  2. Hello out there!

                    YMMV?

                    Wikipedia: SucheListe der Abkürzungen (Netzjargon)

                    s.a. Wiktionary

                    See ya up the road,
                    Gunnar

                    --
                    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
        2. Hello out there!

          Ich möchte gerne auf Variablen zugreifen, die ausserhalb der Funktion, in der ich sie verwende, deklariert wurden (wenn der Bereich der Deklaration überhaupt eine Rolle spielt [...]).

          Bei globalen Variablen (die Eigenschaften des 'window'-Objekts sind) nicht:

          user_anzahl = 9; // ohne Schlüsselwort 'var' global  
          alert(window['user_'+'a'+'nzahl']);
          

          Ein eigenes Objekt sollte aber der Verwendung von globalen Variablen vorzuziehen sein.

          See ya up the road,
          Gunnar

          --
          „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
  2. Hello out there!

    Die Funktion müsste jetzt doch fast richtig sein, mache gute Fortschritte, allerdings funktioniert das "Zusammenbauen" der Variablen nicht so wie in PHP, habe ich den Eindruck.

    Wie bei so ziemlich allen Fragen zu variablen Variablen dürfte auch hier die Antwort ein assoziatives Array sein (wie auch in PHP!!)

    Also nicht

    var user_anzahl=9;

    sondern

    var foo = new Array(); // oder kürzer: var foo =[];  
    foo['user_anzahl'] = 9;
    

    statt

    alert(('user_'+'a'+'nzahl'));

    dann
    alert(foo['user_'+'a'+'nzahl']);

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. Hallo!

      Wie bei so ziemlich allen Fragen zu variablen Variablen dürfte auch hier die Antwort ein assoziatives Array sein (wie auch in PHP!!)

      Sorry, aber es gibt gute Gründe, Arrays nicht derart zu missbrauchen. Arrays sind in JavaScript nicht dazu gedacht, andere als numerische Schlüssel zu haben. Es gibt keine assoziativen Arrays in JavaScript. Das steht auch in Fettdruck auf der von dir verlinkten Seite.

      Ebenso gut bzw. schlecht wäre, ein RegExp oder String-Objekt oder was immer entsprechend zu vergewaltigen. Folgendes würde auch funktionieren, wäre aber aber ebenfalls nicht zu empfehlen:

      var foo = new RegExp;

      foo['user_anzahl'] = 9;
      alert(foo['user_'+'a'+'nzahl']);

        
      Gruß, Don P
      
      1. Hello out there!

        Sorry, aber es gibt gute Gründe,

        Mit "considered harmful" haste's heute aber, he? ;-) [https://forum.selfhtml.org/?t=160280&m=1042451 f.]

        Es gibt keine assoziativen Arrays in JavaScript. Das steht auch in Fettdruck auf der von dir verlinkten Seite.

        Das ist mir klar; ich hätte es in Gänsefüßchen setzen sollen.

        Und ja, steht auch auf der von mir verlinkten Seite: "Da ein Array immer auch ein Object ist, ist dies zwar möglich. [...] es ist daher unnötig und irreführend, hier Array() zu verwenden."

        Also Object:

        var foo = new Object(); // oder kürzer: var foo = {};  
        foo['user_anzahl'] = 9;  
        alert(foo['user_'+'a'+'nzahl']);
        

        See ya up the road,
        Gunnar

        --
        „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
        1. Hi,

          Mit "considered harmful" haste's heute aber, he? ;-) [https://forum.selfhtml.org/?t=160280&m=1042451 f.]

          Ja, ist witzig gell, aber rein zufällig. Habe in letzter Zeit viel gegoogelt und jene Seiten gebookmarked. Finde es gut, wenn jemand nicht nur schreibt, was man alles machen kann, sondern auch mal klarstellt, was man lieber nicht macht, obwohl es funktionieren würde. Das hilft ganz gut, brauchbares vom Unbrauchbarem zu unterscheiden, um richtig durchsichtige Kristallglaskugeln zu bekommen :)

          Vielleicht sollte man überhaupt mehr nach "XYZ considered harmful" googeln, damit man gleich weiss, was man in einem bestimmten Zusammenhang lieber lassen soll und warum...

          Read ya,
          Don P

    2. Hallo,

      var foo = new Array(); // oder kürzer: var foo =[];

      foo['user_anzahl'] = 9;

        
      Und man kann sich gleich dran gewöhnen, foo.user\_anzahl zu schreiben, um Unterobjekte anzusprechen - wie man es in allen anderen Fällen in JavaScript ebenfalls tut, schließlich schreibt man auch nicht window["foo"] oder window["Array"]. ;)  
        
      Mathias
      
  3. Hallo

    Solche Probleme habe ich bis anhin mit eval() gelöst – wobei auch schon gehört habe, dass eval() eine schlechte/gefährliche 'Lösung' sei:

      
    var user_anzahl=9;  
    alert(eval('user_'+'a'+'nzahl'));  
    
    

    Gruss,
    nam

    1. Hello out there!

      wobei auch schon gehört habe, dass eval() eine schlechte/gefährliche 'Lösung' sei

      Und deshalb an dieser Stelle nicht wiederholt werden musste.

      See ya up the road,
      Gunnar

      --
      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    2. Solche Probleme habe ich bis anhin mit eval() gelöst – wobei auch schon gehört habe, dass eval() eine schlechte/gefährliche 'Lösung' sei:

      nein, es ist nur langsam und überflüssig (meistens).

      var user_anzahl=9;
      alert(eval('user_'+'a'+'nzahl'));

        
      Die Lösung wurde hier schon genannt:  
        
      ~~~javascript
      var user_anzahl=9;  
      alert(window['user_' + 'a' + 'nzahl']);  
      
      

      Struppi.

      1. Hello out there!

        Die Lösung wurde hier schon genannt:

        var user_anzahl=9;

        alert(window['user_' + 'a' + 'nzahl']);

          
        Ähm, dazu wurde schon gesagt, dass das nicht funktioniert.  
        Was denn nun, lokale oder globale Variable?  
          
        Aber die Lösung wurde hier wirklich schon genannt: ein Objekt.  
          
        See ya up the road,  
        Gunnar
        
        -- 
        „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ ([Kirsten Evers](https://forum.selfhtml.org/?t=158750&m=1033264))
        
        1. var user_anzahl=9;

          alert(window['user_' + 'a' + 'nzahl']);

          
          > Ähm, dazu wurde schon gesagt, dass das nicht funktioniert.  
            
          Jein, es kommt auf den Kontext an: `var foo = 42`{:.language-Javascript} legt eine lokale Variable an, soweit richtig. Tut man dies unterhalb des windows-Objektes und außerhalb einer Funktion oder eines Unterobjektes von windows, ist foo eine lokale Variable des windows-Objektes und ist sehr wohl via `window['foo']`{:.language-Javascript} ansprechbar. Innerhalb einer Funktion bzw. eines Unterobjektes hast Du natürlich Recht, denn da ginge Struppis Code nur mit einer globalen Variable. Allerdings sollte man m.E. globale Variablen sowieso vermeiden.  
            
          Siechfred
          
          -- 
          Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
          
      2. nein, es ist nur langsam und überflüssig (meistens).

        Ersteres wusste ich nicht. Hab gebenchmarkt und es stimmt. Vor allem bei Firefox, da ist der Zugriff auf einen mit eval zusammengesetzten Variablennamen ca 30 mal langsamer als die vorgeschlagene Lösung mit einem Objekt. Bei Safari und Opera ist eval (nur) ca 5mal langsamer. IE hab ich nicht getestet.

        Zweites wurde hier ja bewiesen;-)

        var user_anzahl=9;
        alert(eval('user_'+'a'+'nzahl'));

        
        >   
        > Die Lösung wurde hier schon genannt:  
        >   
        > ~~~javascript
        
        var user_anzahl=9;  
        
        > alert(window['user_' + 'a' + 'nzahl']);  
        > 
        
        

        Hä?
        Wenn eval==window, dann windows==evals.
        Und da evals langsam und überflüssig sind...

        *grins*