Repository navigation
Expand file tree
/
Copy pathtest.html
More file actions
129 lines (96 loc) · 2.85 KB
/
Copy pathtest.html
File metadata and controls
129 lines (96 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<html>
<head>
<title>Test</title>
</head>
<body>
<div id="content"></div>
<script src="/node_modules/underscore/underscore.js"></script>
<script src="src/justoop.js"></script>
<script type="text/javascript">
"use strict";
(function(justoop)
{
var subclass = justoop.subclass;
var div = document.createElement("div");
div.style.display = "none";
function log(msg)
{
var c = document.getElementById("content");
div.innerHTML = "<p>"+msg+"</p>";
var frag = div.children[0];
c.appendChild(frag);
}
var Animal = function (){
return subclass({
emitSound: function (){
return "mute";
}
});
}();
var animal = new Animal;
log(animal.emitSound());
var Cat = function (Base){
return subclass({
emitSound: function (){
return "meow";
}
}, Base);
}(Animal);
var cat = new Cat;
log(cat.emitSound());
var Human = function (Base){
return subclass({
constructor : function(word)
{
this.word = word;
},
emitSound: function (){
return this.word;
}
}, Base);
}(Animal);
var man1 = new Human("hello");
var man2 = new Human("bye");
log(man1.emitSound());
log(man2.emitSound());
var YesMan = function (Base){
function emitSound (){
return YesMan.__super__.emitSound.call(this) + ", yes";
}
return subclass({
emitSound:emitSound
}, Base);
}(Human);
var man1 = new Human("hello");
var man2 = new YesMan("hello");
log(man1.emitSound());
log(man2.emitSound());
var Fly = (function(Base){
return subclass({
emitSound : function()
{
return "zzzzz";
},
fly: function()
{
return "i can fly";
}
}, Base);
})(Animal);
var FlyMan = (function(Fly, Human){
return subclass ({
}, Fly, Human);
})(Fly, Human);
var flyman = new FlyMan("like a man");
log(flyman.emitSound());
Fly.prototype.emitSound = function()
{
return "changed zzzz";
}
var fly = new Fly;
log(fly.emitSound());
log(flyman.emitSound());
})(justoop);
</script>
<body>
<html>