@@ -610,13 +610,13 @@ <h2>Language Reference</h2>
610
610
alert(< span class ="Variable "> this</ span > .name < span class ="Keyword "> +</ span > < span class ="String "> < span class ="String "> "</ span > moved < span class ="String "> "</ span > </ span > < span class ="Keyword "> +</ span > meters < span class ="Keyword "> +</ span > < span class ="String "> < span class ="String "> "</ span > m.< span class ="String "> "</ span > </ span > ).
611
611
612
612
< span class ="FunctionName "> Snake</ span > < span class ="Keyword "> :</ span > < span class ="FunctionArgument "> name</ span > < span class ="Storage "> =></ span > < span class ="Variable "> this</ span > .name< span class ="Keyword "> :</ span > name.
613
- Snake < span class ="Variable "> extends</ span > < span class =" Keyword " > new </ span > < span class =" TypeName " > Animal</ span > ()
613
+ Snake < span class ="Variable "> extends</ span > Animal
614
614
< span class ="FunctionName "> Snake.prototype.move</ span > < span class ="Keyword "> :</ span > < span class ="Storage "> =></ span >
615
615
alert(< span class ="String "> < span class ="String "> "</ span > Slithering...< span class ="String "> "</ span > </ span > )
616
616
< span class ="Variable "> super</ span > (< span class ="Number "> 5</ span > ).
617
617
618
618
< span class ="FunctionName "> Horse</ span > < span class ="Keyword "> :</ span > < span class ="FunctionArgument "> name</ span > < span class ="Storage "> =></ span > < span class ="Variable "> this</ span > .name< span class ="Keyword "> :</ span > name.
619
- Horse < span class ="Variable "> extends</ span > < span class =" Keyword " > new </ span > < span class =" TypeName " > Animal</ span > ()
619
+ Horse < span class ="Variable "> extends</ span > Animal
620
620
< span class ="FunctionName "> Horse.prototype.move</ span > < span class ="Keyword "> :</ span > < span class ="Storage "> =></ span >
621
621
alert(< span class ="String "> < span class ="String "> "</ span > Galloping...< span class ="String "> "</ span > </ span > )
622
622
< span class ="Variable "> super</ span > (< span class ="Number "> 45</ span > ).
@@ -639,19 +639,23 @@ <h2>Language Reference</h2>
639
639
< span class ="Variable "> this</ span > .< span class ="LibraryConstant "> name</ span > < span class ="Keyword "> =</ span > name;
640
640
< span class ="Keyword "> return</ span > < span class ="Variable "> this</ span > .< span class ="LibraryConstant "> name</ span > ;
641
641
};
642
- < span class ="LibraryClassType "> Snake</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> __proto__</ span > = < span class ="Keyword "> new</ span > < span class ="TypeName "> Animal</ span > ();
642
+ Snake.__superClass__ < span class ="Keyword "> =</ span > Animal.< span class ="LibraryConstant "> prototype</ span > ;
643
+ < span class ="LibraryClassType "> Snake</ span > .< span class ="LibraryConstant "> prototype</ span > = < span class ="Keyword "> new</ span > < span class ="TypeName "> Animal</ span > ();
644
+ < span class ="LibraryClassType "> Snake</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> constructor</ span > = Snake;
643
645
< span class ="LibraryClassType "> Snake</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> move</ span > = < span class ="Storage "> function</ span > () {
644
646
< span class ="LibraryFunction "> alert</ span > (< span class ="String "> < span class ="String "> "</ span > Slithering...< span class ="String "> "</ span > </ span > );
645
- < span class ="Keyword "> return</ span > Snake.< span class =" LibraryConstant " > prototype </ span > .__proto__ .move.< span class ="LibraryFunction "> call</ span > (< span class ="Variable "> this</ span > , < span class ="Number "> 5</ span > );
647
+ < span class ="Keyword "> return</ span > Snake.__superClass__ .move.< span class ="LibraryFunction "> call</ span > (< span class ="Variable "> this</ span > , < span class ="Number "> 5</ span > );
646
648
};
647
649
< span class ="Storage "> var</ span > < span class ="FunctionName "> Horse</ span > = < span class ="Storage "> function</ span > (< span class ="FunctionArgument "> name</ span > ) {
648
650
< span class ="Variable "> this</ span > .< span class ="LibraryConstant "> name</ span > < span class ="Keyword "> =</ span > name;
649
651
< span class ="Keyword "> return</ span > < span class ="Variable "> this</ span > .< span class ="LibraryConstant "> name</ span > ;
650
652
};
651
- < span class ="LibraryClassType "> Horse</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> __proto__</ span > = < span class ="Keyword "> new</ span > < span class ="TypeName "> Animal</ span > ();
653
+ Horse.__superClass__ < span class ="Keyword "> =</ span > Animal.< span class ="LibraryConstant "> prototype</ span > ;
654
+ < span class ="LibraryClassType "> Horse</ span > .< span class ="LibraryConstant "> prototype</ span > = < span class ="Keyword "> new</ span > < span class ="TypeName "> Animal</ span > ();
655
+ < span class ="LibraryClassType "> Horse</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> constructor</ span > = Horse;
652
656
< span class ="LibraryClassType "> Horse</ span > .< span class ="LibraryConstant "> prototype</ span > .< span class ="FunctionName "> move</ span > = < span class ="Storage "> function</ span > () {
653
657
< span class ="LibraryFunction "> alert</ span > (< span class ="String "> < span class ="String "> "</ span > Galloping...< span class ="String "> "</ span > </ span > );
654
- < span class ="Keyword "> return</ span > Horse.< span class =" LibraryConstant " > prototype </ span > .__proto__ .move.< span class ="LibraryFunction "> call</ span > (< span class ="Variable "> this</ span > , < span class ="Number "> 45</ span > );
658
+ < span class ="Keyword "> return</ span > Horse.__superClass__ .move.< span class ="LibraryFunction "> call</ span > (< span class ="Variable "> this</ span > , < span class ="Number "> 45</ span > );
655
659
};
656
660
< span class ="Storage "> var</ span > sam < span class ="Keyword "> =</ span > < span class ="Keyword "> new</ span > < span class ="TypeName "> Snake</ span > (< span class ="String "> < span class ="String "> "</ span > Sammy the Python< span class ="String "> "</ span > </ span > );
657
661
< span class ="Storage "> var</ span > tom < span class ="Keyword "> =</ span > < span class ="Keyword "> new</ span > < span class ="TypeName "> Horse</ span > (< span class ="String "> < span class ="String "> "</ span > Tommy the Palomino< span class ="String "> "</ span > </ span > );
@@ -666,19 +670,23 @@ <h2>Language Reference</h2>
666
670
this.name = name;
667
671
return this.name;
668
672
};
669
- Snake.prototype.__proto__ = new Animal();
673
+ Snake.__superClass__ = Animal.prototype;
674
+ Snake.prototype = new Animal();
675
+ Snake.prototype.constructor = Snake;
670
676
Snake.prototype.move = function() {
671
677
alert("Slithering...");
672
- return Snake.prototype.__proto__ .move.call(this, 5);
678
+ return Snake.__superClass__ .move.call(this, 5);
673
679
};
674
680
var Horse = function(name) {
675
681
this.name = name;
676
682
return this.name;
677
683
};
678
- Horse.prototype.__proto__ = new Animal();
684
+ Horse.__superClass__ = Animal.prototype;
685
+ Horse.prototype = new Animal();
686
+ Horse.prototype.constructor = Horse;
679
687
Horse.prototype.move = function() {
680
688
alert("Galloping...");
681
- return Horse.prototype.__proto__ .move.call(this, 45);
689
+ return Horse.__superClass__ .move.call(this, 45);
682
690
};
683
691
var sam = new Snake("Sammy the Python");
684
692
var tom = new Horse("Tommy the Palomino");
0 commit comments