-
Notifications
You must be signed in to change notification settings - Fork 23
/
excercises.js
169 lines (118 loc) · 3.11 KB
/
excercises.js
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
/*
Gebruik van dit document
De opgave in een Block Comment
De code staat tussen Line Comments.
Commentarieer deze uit en los de opgave op.
Gebruik de Webconsole om de
uitvoer te bekijken en voor de Warnings en Error meldingen.
Je code is pas goed als er geen Warnings en Errors zijn!
*/
/*
Opgave 1.
De variabele is function scoped dus niet zichtbaar buiten de functie.
Vind een manier om deze toch zichtbaar te maken
LET OP
Geen globale variabele width aanmaken
*/
// function setWidth() {
// var width = 100;
// }
// console.log(width);
/*
Opgave 2.
De variabele boxSize is 'leaking' naar de global scope.
Los het 'leaking' probleem op.
*/
// var size = 100;
// if (size > 50) {
// var boxSize = size * 5;
// console.log(boxSize);
// }
// console.log(boxSize);
/*
Opgave 3.
Een 'let' of 'const' variabele kan niet opnieuw worden aangemaakt.
Verklaar waarom het in onderstaande voorbeeld de bonus variabele wel op true gezet kan worden.
Zet je oplossing als commentaar in de code.
*/
// let winningPoints = 100;
// let bonus = false;
//
// if (winningPoints > 50) {
// let bonus = true;
// }
// console.log( bonus);
/*
Opgave 4.
Maak een const object aan uit je directe omgeving met een 4-tal properties.
Denk bijv. aan een object als klaslokaal, of een persoon.
HINT: Een object maak je met behulp van {}
*/
/*
Opgave 5.
De waarde van een const kan je niet wijzigen.
Los het probleem in de onderstaande code op
maar het object person moet een const blijven.
De overlijdensdatum van Bowie is 2016.
*/
// const person = {
// name: 'Bowie',
// died: 2012
// }
//
// person = {
// name: 'Bowie',
// died: 2016
// }
//
// console.log(person);
/*
Opgave 6.
In de HTML staat een script dat het window een naam geeft.
De onderstaande code overschrijft deze naam doordat de variabele
in de global scope staat. Dat is dus de window.name variabele.
Maak een IIFE die dit probleem voorkomt en tijdelijk dus de inhoud
van deze les weergeeft.
*/
// var name = 'Lesson 1: ES6 Variables';
// console.log(name);
// console.log(window.name);
/*
Opgave 7.
Herschrijf de code van opgave 6, maak gebruik van de ES6 syntax.
OPM: Oh ja, de naam van de variabele mag je dus niet wijzigen.
*/
/*
Opgave 8.
Onderstaande code is bijna gelijk aan de bovenstaande, voorkom dat de
globale variabele overschreven wordt.
OPM: Oh ja, de naam van de variabele mag je dus niet wijzigen.
*/
// function varLeak () {
// name = 'een foutje';
// }
// varLeak();
//
// console.log(window.name);
/*
For Loop Sample.
Gebruik van var in een for loop zet de variabele op de global scope.
*/
// for (var i = 0; i < 3; i++) {
// console.log(i);
//
// setTimeout(function () {
// alert ('This is number: ' + i);
// }, 3000);
//
// }
/*
Temporal Dead Zone
Lees documentatie over hoisting na
Experimenteer met Const en Let, gebruik de console voor error checking
*/
function tdz () {
console.log(dinner);
var dinner = 'Lasagna';
}
tdz();