understanding John's class inheritance

understanding John's class inheritance

hey guys i was just going to john R's post here and  he talks of a pattern he found that looks like below :
  1. var Person = Class.extend({
  2.   init: function(isDancing){
  3.     this.dancing = isDancing;
  4.   },
  5.   dance: function(){
  6.     return this.dancing;
  7.   }
  8. });
  9.  
  10. var Ninja = Person.extend({
  11.   init: function(){
  12.     this._super( false );
  13.   },
  14.   dance: function(){
  15.     // Call the inherited version of dance()
  16.     return this._super();
  17.   },
  18.   swingSword: function(){
  19.     return true;
  20.   }
  21. });
  22.  
  23. var p = new Person(true);
  24. p.dance(); // => true
  25.  
  26. var n = new Ninja();
  27. n.dance(); // => false
  28. n.swingSword(); // => true
  29.  
  30. // Should all be true
  31. p instanceof Person && p instanceof Class &&
  32. n instanceof Ninja && n instanceof Person && n instanceof Class
now i have a couple of questions about the above pattern , what is the following :: 

i see this in the code  
  1.     this._super( false );
what is _super ??? 

also is the 

extend used in here the Jquery extend function ? is the code relying on pure JS or Jquery ? 

Thank you.