jobo: OO - Zugriff auf Objektmethode mittels Namen als Stringparameter

Beitrag lesen

Hallo,

myObj = {
    "testAttr" : "Bla"
}
function callTestAttr(attrName) {
    alert(myObj.attrName); // undefined
    alert(myObj[attrName]); // "Bla"

Meinst du das ernst?
Du beschäftigst dich mit Crockford und stellst diese Grundlagenfrage?

Naja mein Interesse ist immer wieder auf Projektphasen beschränkt und durchaus auch eher hobbyhaft und theoretischer Art. Crockfords Ansichten beruhen ja im Grunde auf Überlegungen allgemeiner Art zu Fehlervermeidung und effizienter Strukturierung.

a.b greift immer auf eine Property namens »b« zu. »b« ist immer »b« ist immer »b«.

Ja, jetzt habe ich es (mal wieder) kapiert oder meine es ;-).

Wenn du den Property-Namen hingegen aus einer Variable nehmen willst, er also nicht direkt aus dem Quellcode genommen werden soll, verwende die Bracket-Schreibweise. Diese erwartet einen String, bzw. zwischen den Brackets kann eine beliebige Expression stehen, also auch ein Variablenname. Diese Variable kann einen beliebigen String beinhalten.

Genau, das war mir jetzt auch klar. In PHP gibt es eben $a = 4; $b = "a"; echo $$b; //4

Wird aber nicht verwendet.

bzw. eben $myString = "abc"; $myArray["abc"] = "def"; echo $myArray[$myString"; // "def";

Das schon, wie ich dann eben auch bei meinem Script.

Gruß

jobo

0 59

OO Backgroundcolorchanger - optimieren /Kontext von this

jobo
  • javascript
  1. 0
    unknown
    1. 0

      OO - optimieren /Kontext von this - was macht der Browser da?

      jobo
      1. 0
        unknown
        1. 0
          jobo
          1. 0
            unknown
            1. 0
              jobo
              1. 0
                unknown
                1. 0
                  jobo
                  1. 0
                    unknown
  2. 0
    ChrisB
    1. 0
      jobo
      1. 0
        ChrisB
        1. 0
          jobo
          1. 0
            molily
            1. 0
              jobo
      2. 0
        molily
        1. 0
          jobo
          1. 0
            molily
            1. 0

              OO bgColorChanger - next try: alles in einem Objekt

              jobo
              1. 0

                OO bgColorChanger - next try: alles in einem Objekt - kl. opt.

                jobo
                1. 0
                  unknown
                  1. 0
                    jobo
                    1. 0
                      jobo
                      1. 0

                        colorChanger - rein funktional - Feinschliff

                        jobo
                        1. 0
                          jobo
                          1. 0

                            colorChanger - Feinschliff en Detail, macht das Sinn?

                            jobo
                            1. 0
                              molily
                              1. 0
                                jobo
                                1. 0
                                  molily
                          2. 0
                            molily
                            1. 0
                              jobo
                              1. 0
                                unknown
                                1. 0
                                  jobo
                                  1. 0
                                    unknown
                                2. 0
                                  molily
                                  1. 0
                                    unknown
                  2. 2
                    molily
                    1. 0
                      unknown
                      1. 0
                        molily
                        1. 0
                          molily
                          1. 0
                            unknown
                            1. 0
                              jobo
                            2. 0
                              jobo
                            3. 0

                              OO bgColorChanger - mit Closure (verschachtelte Objekte)

                              jobo
                            4. 0
                              molily
                              1. 0

                                OO bgColorChanger - elegant oder zumindest vernünftig!

                                jobo
                    2. 0
                      jobo
                    3. 0

                      bgColorChanger - OO vs. funktional

                      jobo
                      1. 1
                        molily
                        1. 0
                          jobo
  3. 0

    OO - Zugriff auf Objektmethode mittels Namen als Stringparameter

    jobo
    1. 0
      unknown
      1. 0
        jobo
        1. 0
          ChrisB
          1. 0
            jobo
        2. 0
          unknown
    2. 0
      molily
      1. 0
        jobo