# Type Error: not a function



## member42 (20. Mrz 2019)

Hallo,

warum bekomme ich bei folgendem Programm die Fehlermeldung: TypeError: this.func is not a function ?

```
function Test() {
   
   this.init = function() {
       var interval = setInterval(this.update, 100);
   }
   
   this.func = function() {
       console.log("Test");
   }
   
   this.update = function() { 
       this.func();
   }

}

var t = new Test();
t.init();
```

Danke im Vorraus.


----------



## httpdigest (20. Mrz 2019)

Weil `this` innerhalb der update Funktion, wenn es von dem setInterval() Timer aufgerufen wird, nicht dein Test Objekt ist, sondern ein internes Timeout-Objekt. Wenn du das nicht brauchst, und stattdessen wirklich das `this` als dein Test-Objekt haben willst, dann schreibe setInterval so:

```
var interval = setInterval(this.update.bind(this), 100);

// oder, wenn du ES2015 verwendest, dann geht auch:
var interval = setInterval(() => this.update(), 100);
```


----------

