frankx: OOP: Methode rekursiv aufrufen

Beitrag lesen

Hellihello Shane,

Ich versuche grad einige oft benutze Funktionen in einer Bibliothek zu bündeln. Nun möchte ich aber zwei Fliegen mit einer Klappe schlagen und das ganze Projekt objektorientiert umsetzen. Viele meiner Funktionen rufen sich rekursiv auf z.B.:

function ssmoveRight(id,nx,step,ms) {
mr = 0;
cx = document.getElementById(id).style.left;
cx = cx.split("p");
stepx = (cx[0]*1)+step;
if ((stepx <= nx) && (ml == 0)) {
mr = 1;
document.getElementById(id).style.left = stepx;
cmd = "ssmoveRight('"+id+"',"+nx+","+step+","+ms+")";
window.setTimeout (cmd,ms);
}
}

Nun stehe ich völlig auf dem Schlauch und finde keinen Ansatz diesen rekursiven Aufruf objektorientiert umzusetzen.

Für Hilfe wäre ich sehr dankbar.

Wegen der Schreibweise s.a. https://forum.selfhtml.org/?t=164832&m=1074652.

Ansonsten hilft vielleicht das Wörtchen "this"?

  
<html>  
 <head>  
  <title>oop js this self</title>  
  <script type="text/javascript">  
[code lang=javascript]  
  window.onload=function() {  
   my_div=document.getElementById("my_id");  
   my_div.innerHTML="window onload war am werk";  
   My_Object.method2();  
  }  
  My_Object={};  
  My_Object.method1=function() {  
   my_div.innerHTML="method1 war am werk";  
  }  
  My_Object.method2=function() {  
   alert("hallo");  
   this.method1();  
  }  

</script>
 </head>
 <body>
  <div id="my_id">default
  </div>
 </body>
</html>
[/code]

Dank und Gruß,

frankx

--
tryin to multitain  - Globus = Planet != Welt