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
}
*/