https://www.freecodecamp.org/news/javascript-projects-for-beginners/ HTML
JavaScript Dag 1
CSS #melding { color: red; } JavaScript // Voorbeeldje /* https://developer.mozilla.org/nl/docs/Web/JavaScript */ /* Chrome Developer Tools: F12 OF CTRL+SHFT+I */ /* Google: mdn javascript string */ console.clear(); console.log("Test"); var x = document.getElementById("melding"); x.textContent = "Testje"; var naam = "Marc"; naam = naam.toUpperCase(); console.log(naam); function test() { return { naam: "Marc's JavaScript" }; } var x = test(); console.log(x.naam); var artikel = { naam: "Pen", prijs: 1.5 }; console.log(artikel.naam); var cursussen = ["Javascript", "HTML", "CSS"]; cursussen[3] = "APEX"; console.log(cursussen[3]); console.log(cursussen); var som = 2 + 3; console.log(som); var x = 3; var y; var z = x / y; console.log(x / y); console.log(isNaN(x / y)); console.log(isNaN(z)); console.log(Number.isInteger(x)); console.log(Number.parseFloat("12.4.45test")); console.log(Number.parseInt("12.4.45test")); var test = `1 + 2 = ${1 + 2}`; var alternatief = "Wij hopen \n dat \\ het heel \ goed zal bevallen."; console.log(alternatief); console.log(test); /* function som(a, b) { var uitkomst = a + b; return uitkomst; } console.log(som(3,8)); */ // van rechts naar links var a = 4; var b = 5; var c = 3; var d = a += b += c; console.log(a, b, c, d); console.log(3 + " + " + 4 + " = " + (3 + 4)); var x = 1; var y = x++; y += x; console.log(x, y); function test1(a) { // a wordt 0 als a nog niet gevuld is console.log(a, !!a); if (!a) { a = 0; } else { a = a } return a; //return a = a || 0; } var x = test1(4); console.log(x); x = test1(); console.log(x); // Variant 1 //var getal1 = parseFloat(window.prompt("Getal a: ")); //var getal2 = parseFloat(window.prompt("Getal b: ")); // Variant 2 var getal1 = window.prompt("Getal a: "); var getal2 = window.prompt("Getal b: "); getal1 = Number.parseFloat(getal1); getal2 = Number.parseFloat(getal2); console.log("Eerste getal: " + getal1); console.log("Tweede getal: " + getal2); var sommetje = getal1 + getal2; console.log(sommetje); //console.log(getal1, getal2, getal1 + getal2); var medling = `${a} + ${b} = ${a + b}`; console.log(medling); var x = 15; //x++; var boodschap = `De waarde van x is nu ${++x}`; //boodschap = "De waarde van x is nu " + x; console.log(boodschap); console.log("De waarde van x is nu: " + x); ++x; console.log("De waarde van x is nu: " + x); x++; console.log("De waarde van x is nu: " + x); x = x < 25 ? x + 1 : 10; console.log(x); var arr_namen = ["Klaas", "Piet", "Jan"]; console.log(arr_namen[0]); console.log(arr_namen[arr_namen.length - 1]); var date = new Date(); var dag = date.getDay(); console.log("Datum: " + date); console.log("Dag : " + dag); var dag = window.prompt("Geef dagnummer van de week:"); dag = Number.parseInt(dag); switch (dag) { case 1: case 2: case 3: case 4: case 5: console.log("Werkdag"); break; case 6: case 7: console.log("Weekend"); break; default: console.log("Geen bekende dag van de week"); } switch (true) { case dag >= 1 && dag <= 5: console.log("Werkdag"); break; case dag === 6 || dag === 7: console.log("Weekend"); break; default: console.log("Geen bekende dag van de week"); } var x = 1; while (x <= 5) { console.log(x++); } // https://www.jslint.com x = 1; do { console.log(x++); } while (x == 2); console.log(x); // Array let namen = ["Jan", "Pier", "Joris", "Corneel"]; for (let i = 0; i < namen.length; i++) { console.log(namen[i] + " heeft een baard."); } getallen = [1, 5, 3, 7]; for (let i = 0; i < getallen.length; i++) { console.log(i, getallen[i]); } getallen = [1, 5, 3, 7]; for (let getal of getallen) { console.log(`Het volgende getal heeft de waarde: ${getal}`); } let namen2 = ["Jan", "Pier", "Joris", "Corneel"]; for (let naam of namen2) { console.log(`${naam} heeft een baard.`); } // Object var artikel = { naam: "pen", prijs: 1.5 }; for (let eigenschap in artikel) { console.log(eigenschap, artikel[eigenschap]); } var artikel = { naam: "pen", prijs: 1.5, kleur: "blauw" } console.log(artikel.naam); console.log(artikel["naam"]); for (let attribuut in artikel) { console.log(attribuut, artikel[attribuut]); } var prijzen = [10, 3.5, 2.7, 8]; var waarde = 0; for (let i = 0; i < prijzen.length; i++) { //waarde = waarde + prijzen[i]; waarde+=prijzen[i]; console.log(i, prijzen[i]); } console.log("Totaal met for loop: " + waarde); var prijzen = [10, 3.5, 2.7, 8]; var waarde = 0; for (let getal of prijzen) { //waarde = waarde + getal; waarde+=getal; console.log(getal, waarde); } console.log("Totaal met for ... of loop: " + waarde); var getal = Math.floor(Math.random() * 10) + 1; var poging = parseInt(window.prompt("Geef een getal: ")); var teller = 1; while (poging < getal || poging > getal) { if (poging < getal) { console.log("hoger"); } else { console.log("lager"); } poging = parseInt(window.prompt("Geef een getal: ")); teller++; } console.log("Aantal pogingen: " + teller); HTML
JavaScript Dag 2
JavaScript 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 } */