-
Notifications
You must be signed in to change notification settings - Fork 13
/
11-js-prototypes.html
62 lines (40 loc) · 1.4 KB
/
11-js-prototypes.html
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>JS prototypes</title>
</head>
<body>
<h1>JS prototypes</h1>
<script>
// rozsireni jiz jednou zavolane funkce, umistene do promenne (zmeny plati jen pro tuto 1 promennou)
// objekt (v JS jsou objekty funkce)
// pararela s rozsirenim 1 instance objektu
function Player(first, last, band) {
this.firstName = first;
this.lastName = last;
this.bandName = band
}
// instance objektu
john = new Player('John', 'Frusciante', 'RHCP');
// pridani atributu (vlastnosti) do jiz existujiciho objektu
john.bornPlace = 'New York';
// zobrazeni atributu objektu
console.log(john.bandName);
// prototypes
// prototyp: pridani atributu samotne funkce, ze ktere jeste nebyl vytvoren objekt
// jedna se o rozsireni jiz existujici funkce, bude platit pro vsechny dalsi volani funkce
// pararela s rozsirenim tridy (class) v Jave, kdy vsechny instance z teto tridy budou mit tyto vlastnosti
Player.prototype.genre = 'Rock';
// pridani nove metody pomoci prototype
Player.prototype.first_and_last = function() {
return this.firstName + " " + this.lastName;
};
eric = new Player('Eric', 'Clapton', 'himself');
//eric (i vsichni ostatni po nem) maji automaticky genre i first_and_last
console.log(eric.genre);
console.log(eric.first_and_last());
</script>
<h2>See the results in JS console in your browser</h2>
</body>
</html>