I'm having a little trouble comprehending something I'm reading in a book. I was hoping maybe someone could shed a little light on it for me. The issue deals with constructor chaining. The book is JavaScript the Definite Guide and its page 170 for anyone that owns the book.

Suppose you have a class A, that you would like to subclass to a class named B. The book suggests a way of making inheritance and constructor chaining easier by doing the following...

Code:
B.prototype.superclass = A;
Then within the definition of B...

Code:
function B(x,y) {
  this.superclass(x);
  this.y = y;
}
But the book than goes on to explain that you can only use this trick once. If you were to create a class C that subclasses B and uses this trick again, "then when you create an instance of C, this superclass will refer to B(),and the B() constructor will recurse infinitely."

Basically I'm not seeing why the B() constructor recurses infinitely. I've tested it out and can see by example that the statement above is true, however, I'm still not understanding why.

Any insight would be great!