Take a look at this piece of code
var obj = {
foo: 5
};
var recursive = (function(){
if(this.foo === 0){
return;
}
this.foo--;
recursive();
}).bind(obj);
Does the recursive function create a circular reference? If or if not, why?
EDIT: Circular reference between the function recursive
and itself. I also found something similar here