console.clear(); // Console tonen door F12 console.log("Functies"); var date = new Date(); var dag = date.getDay(); var melding = "geen bestaande dag van de week"; switch (dag) { case 1: case 2: case 3: case 4: case 5: melding = "een werkdag"; break; case 0: case 6: melding = "weekend"; } console.log(melding); function telop(a, b) { a = a || 0; // als a niet gevuld is: 0 b = b || 0; // als b niet gevuld is: 0 return a + b; } console.log(telop(5, 6)); var som = telop(10, 20); console.log(som); var x = telop(2, 3); var y = telop(5, 6); var z = telop(x, y); console.log(z); console.log(telop(2)); var telop = function(a, b) { return a + b; } console.log(telop(3, 6)); var telop = function(a, b) { a = a || 0; // als a niet gevuld is: 0 b = b || 0; // als b niet gevuld is: 0 let som = a + b; let args = arguments; // alle argumenten for (let i = 2; i < args.length; i++) { // vanaf 3e positie som += args[i]; } return som; } console.log(telop(3, 4, 5)); var telop = function(a, b, ...overige) { a = a || 0; // als a niet gevuld is: 0 b = b || 0; // als b niet gevuld is: 0 let som = a + b; let args = overige; // overige argumenten for (let i = 0; i < args.length; i++) { // vanaf 1e positie som += args[i]; } return som; } console.log(telop(3, 4, 5, 6)); var telop = function(a, b, ...overige) { a = a || 0; // als a niet gevuld is: 0 b = b || 0; // als b niet gevuld is: 0 if (typeof a !== 'number' || typeof b !== 'number') { throw 'Foute invoer: een argument was niet numeriek'; } var som = a + b; for (let waarde of overige) { waarde = waarde || 0; som += waarde; } return som; } function tryTelop(a, b, ...argumenten) { try { return telop(a, b, argumenten); // 3 puntjes voor arguments? } catch (fout) { console.error("Er ging iets fout: ", fout); return fout; } } console.log(tryTelop(2, "test", undefined, 5, 6)); console.log(tryTelop(5, 6)); function minMax(a, b) { let minWaarde = a < b ? a : b; let maxWaarde = a > b ? a : b; return { min: minWaarde, max: maxWaarde }; } let test = minMax(3, 4); console.log(test.min); console.log(test.max); var namen = ["Jan", "Pier", "Joris", "Corneel"]; function toonNaam(naam) { console.log(naam.toUpperCase()); } namen.forEach(toonNaam); var namen = ["Jan", "Pier", "Joris", "Corneel"]; namen.forEach(function(naam) { console.log(naam.toUpperCase()); }); var namen = ["Jan", "Pier", "Joris", "Corneel"]; namen.forEach(naam => console.log(naam.toUpperCase())); let namen2 = ["truus", "ellen", "kim", "vianne"]; namen2.forEach(s => console.log(s.toUpperCase())) namen2 = namen2.map(s => s.toUpperCase()); console.log(namen2); var maal = function(a, b) { a = a || 0; // als a niet gevuld is: 0 b = b || 1; // als b niet gevuld is: 1 let vermenigvuldig = a * b; let args = arguments; // alle argumenten for (let i = 2; i < args.length; i++) { // vanaf 3e positie vermenigvuldig *= args[i]; } return vermenigvuldig; } console.log(maal(3, 4, 5)); var getallen = [1, 3, 5, 7, 9]; function toonDubbel(getal) { console.log(getal * 2); } getallen.forEach(toonDubbel); var getallen = [1, 3, 5, 7, 9]; getallen.forEach(function(getal) { console.log(getal * 3); }); var getallen = [1, 3, 5, 7, 9]; getallen.forEach(getal => console.log(getal * 4)); console.log(getallen); getallen = getallen.map(x => x * 2); console.log(getallen); getallen.forEach((x, i, a) => a[i] = x * 2); console.log(getallen); var maal = function(a, b, ...overige) { a = a || 0; // als a niet gevuld is: 0 b = b || 1; // als b niet gevuld is: 1 /* if (typeof a !== 'number' || typeof b !== 'number') { throw 'Foute invoer: een argument was niet numeriek'; } if (typeof a === 'string' && typeof b === 'number') { return a.repeat(b); } */ var vermenigvuldig = a * b; for (let waarde of overige) { if (typeof waarde !== 'number') { throw "Fout, niet numeriek" } waarde = waarde || 1; console.log(waarde); vermenigvuldig *= waarde; } return vermenigvuldig; } function tryMaal(a, b, ...argumenten) { try { return maal(a, b, ...argumenten); } catch (fout) { console.error("Er ging iets fout: ", fout); return fout; } } console.log(tryMaal(3, 4, 5, 6)); console.log(tryMaal(3, 4, "a")); //console.log(tryMaal("test", 2)); //console.log(tryMaal("a", "b")); var totaal = (function() { var som = 0; return function(getal) { return som += getal; }; })(); console.log(totaal(3)); console.log(totaal(1)); console.log(totaal(2)); var artikel = { naam: "pen", prijs: 1.5, totaal: function(aantal) { return this.prijs * aantal; }, type: { punt: "fijn", kleur: "zwart" } } //console.log(artikel.type.kleur); function getWaarde(ding, eigenschap) { return ding[eigenschap]; } //console.log(getWaarde(artikel, "prijs")); // 1.5 for (let prop in artikel) { console.log(artikel[prop]); } function Artikel(naam, prijs) { this.naam = naam; this.prijs = prijs; } var a = new Artikel("pen", 1.5); console.log(a.naam, a.prijs); Artikel.prototype.totaal = function(aantal) { return this.prijs * aantal; } let b = new Artikel("potlood", 0.5); console.log(b.totaal(3)); console.log(b.naam, b.prijs); console.log(a.totaal(3)); Artikel.prototype.totaal = function(aantal) { return this.prijs * aantal; }; var c = new Artikel("gum", 0.8); console.log(c.totaal(2)); class Artikel2 { constructor(naam, prijs) { // geen keyword function this.naam = naam; this.prijs = prijs; } totaal(aantal) { // geen keyword function return this.prijs * aantal; } } var c = new Artikel2("gum", 0.9); console.log(c.totaal(6)); var tekst = "Dit;is;een;voorbeeld."; console.log(tekst.split(";")); var fruit = ["appels", "peren", "mandarijnen", "bessen"]; fruit.splice(1, 0, "bananen", "aardbeien"); fruit.forEach(x => console.log(x)); console.log(fruit.slice(1, -1)); console.log(fruit.slice(1)); var gezond = fruit.slice(); // Er wordt een kopie gemaakt fruit[1] = fruit[1].toUpperCase(); //console.log(gezond[1]); console.log(fruit); console.log(gezond); console.log(fruit.indexOf("kersen")); // -1 = komt niet voor /* fruit.push("bananen"); // voegt toe aan het eind fruit.unshift("kersen"); // voegt toe aan het begin let laatste = fruit.pop(); // verwijdert laatste let eerste = fruit.shift(); // verwijdert eerste fruit.splice(2,1); // verwijdert element op 3e positie fruit.splice(1,0,"aardbeien"); //voegt op 2e positie toe fruit.splice(1,1,"perziken"); //vervangt op 2e positie console.log(fruit.slice(1,-1)); // 2e tot voorlaatste var copy = fruit.slice(); // geen argumenten: // copy van hele array console.log(fruit.indexOf("perziken")); // 1 */ let fruit3 = "appels,peren, bananen , bessen"; let sep = / *, */; fruit3 = fruit3.split(sep); console.log(fruit3); var auto = { merk: "Opel", prijs: 2000.95, totaal: function(aantal) { return this.prijs * aantal; }, type: { versnelling: "automaat", kleur: "blauw" }, values: [], add: function(...val){ this.values.splice(this.values.length,0,...val); }, show: function(){ this.values.forEach(x => console.log(x)); } } console.log(auto.type.versnelling); console.log(auto.totaal(3)); console.log(auto.merk); auto.merk = "Ford"; auto.type.kleur = "groen"; console.log(auto.merk); console.log(auto.type.kleur); auto.add(2,3,4,5,6); auto.show(); var naam2 = ["Kees", "Truus", "Karel", "Monique"]; console.log(naam2); var eerste = naam2.shift(); naam2.splice(1, 0, eerste); console.log(naam2); naam2.splice(2, 1, "Manuela"); console.log(naam2); var stringetje = naam2.toString(); console.log(stringetje); class Boek { constructor(auteur, titel) { // geen keyword function this.auteur = auteur; this.titel = titel; } printBoek() { // geen keyword function return this.auteur + " " + this.titel; } //toString(){ // return this.auteur + ": " + this.titel; //} } var c = new Boek("MH", "Dagboek"); console.log(c.auteur, c.titel); console.log(c.printBoek()); //var boekie[]; //boekie.push(new Boek("Piet","Het leven van Piet")); var boekjes = ["Boek 4","Boek 2","Boek 1","Boek 3"]; boekjes.forEach(x => console.log(x)); console.log(boekjes.sort()); console.log(boekjes.sort((a,b) => a-b)); var zoekBoek3 = boekjes.filter(n => n=="Boek 3"); zoekBoek3.forEach(naam => console.log(naam)); console.table(boekjes); var paragraph = 'The quick brown fox jumps over the lazy dog. It barked.'; var regex = /[A-Z]/g; var found = paragraph.match(regex); console.log(found); found.forEach(q => console.log(q)); var nu = new Date(); console.log(nu); console.log(nu.getFullYear()); console.log(nu.getMonth() + 1); // 0-based : 2 = Maart console.log(nu.getDate()); console.log(nu.getHours()); console.log(nu.getMinutes()); Date.prototype.maanden = Date.prototype.maanden || ["Jan","Feb","Maa","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]; console.log(Date.prototype.maanden[5]); //var dag = new Datum(28,3,2019); //console.log(dag.toString()); /* Date.prototype.formatDate(){ jaar = this.getFullYear(), maand = this.getMonth //this.maanden } */