Radio appears to be a constructor function. On the page you mentioned, it's used like this:
// create an instance of the Radio class
var radio = new Radio(station);
So inside the constructor function, "this" refers to the instance of Radio that's being created.
setTimeout schedules a function to run later. At that later time, the reference to "this" will have been lost. To preserve it, you assign the value of "this" to some other variable before calling setTimeout, then use that other variable inside the function setTimeout will call. So inside the anonymous function that setTimeout calls, "this" no longer refers to the instance of Radio, but "self" does.
These are basic JavaScript object oriented programming concepts, not specific to nodejs.