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

Beitrag lesen

Hallo,

Jetzt geht es auch mit this. Was meinst du mit "wie man sieht"? Ich dachte jetzt, "this" bezöge sich immer auf den aufgerufenen Kontext?
der Kontext ist die Variable welche die Funktion aufruft und die steht vor dem .getValue.

ja, durch den Aufruf als Objektmethode:

  
<script>  
[code lang=javascript]  
myObj = {  
    method : function () {  
        alert(this);  
     }  
};  
  
function testThis() {  
    alert(this);  
}  
function callMyObjMethod() {  
    myObj.method();  
}  
  
testThis(); // [object Window]  
callMyObjMethod(); // [object Object]  
window.setTimeout(testThis,100); // [object Window]  
window.setTimeout(callMyObjMethod,100); // [object Object]  
window.onload = function () {  
    document.getElementById("callMyObjMethod").onclick = callMyObjMethod; // [object Object]  
    document.getElementById("callTestThis").onclick = testThis; // [object HTMLButtonElement]  
}  

</script>
<body>
<button id="callMyObjMethod">callMyObjMethod()</button>
<button id="callTestThis">callTestThis()</button>
</body>
[/code]

Aber eben hatte ich auch     window.setInterval("myBgColorChange()", "120");
und die Fehlerkonsole meint, myBgColorCange sei nicht definiert. Habe es umgeschrieben in     window.setInterval(myBgColorChange, "120"); und es ging. Keine Ahnung warum ???
myBgColorCange ist keine globale Funktion.

Aber sie ist im window.onload definiert, genau wie auch setIntervall. Macht es denn einen Unterschied, welche der beiden Schreibweisen ich verwende? Für den Scope (Closure) doch wohl nicht, oder? Zumal es ja auch erst mit der Stringschreibweise ging ...;

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