diff --git a/javascript/Javascript Expert/chapter11/index.html b/javascript/Javascript Expert/chapter11/index.html index ff41140..f647111 100644 --- a/javascript/Javascript Expert/chapter11/index.html +++ b/javascript/Javascript Expert/chapter11/index.html @@ -7,6 +7,7 @@ Working with Arrays - + + diff --git a/javascript/Javascript Expert/chapter11/map.js b/javascript/Javascript Expert/chapter11/map.js index 9055bd2..3deb04e 100644 --- a/javascript/Javascript Expert/chapter11/map.js +++ b/javascript/Javascript Expert/chapter11/map.js @@ -1,4 +1,4 @@ -import { randomIntNumbers as randomNumbers } from "./template.js"; +import { randomIntNumbers as randomNumbers } from "./template.js"; // Die Module template Verwendung var arr = randomNumbers(15); console.log("EUR", arr); diff --git a/javascript/Javascript Expert/chapter17/clean.js b/javascript/Javascript Expert/chapter17/clean.js new file mode 100644 index 0000000..2cdba90 --- /dev/null +++ b/javascript/Javascript Expert/chapter17/clean.js @@ -0,0 +1,64 @@ +var budget = [ + { value: 250, description: 'Sold old TV 📺', user: 'jonas' }, + { value: -45, description: 'Groceries 🥑', user: 'jonas' }, + { value: 3500, description: 'Monthly salary 👩‍💻', user: 'jonas' }, + { value: 300, description: 'Freelancing 👩‍💻', user: 'jonas' }, + { value: -1100, description: 'New iPhone 📱', user: 'jonas' }, + { value: -20, description: 'Candy 🍭', user: 'matilda' }, + { value: -125, description: 'Toys 🚂', user: 'matilda' }, + { value: -1800, description: 'New Laptop 💻', user: 'jonas' }, +]; + +var limits = { + jonas: 1500, + matilda: 100, +}; + +var add = function (value, description, user) { + if (!user) user = 'jonas'; + user = user.toLowerCase(); + + var lim; + if (limits[user]) { + lim = limits[user]; + } else { + lim = 0; + } + + if (value <= lim) { + budget.push({ value: -value, description: description, user: user }); + } +}; +add(10, 'Pizza 🍕'); +add(100, 'Going to movies 🍿', 'Matilda'); +add(200, 'Stuff', 'Jay'); +console.log(budget); + +var check = function () { + for (var el of budget) { + var lim; + if (limits[el.user]) { + lim = limits[el.user]; + } else { + lim = 0; + } + + if (el.value < -lim) { + el.flag = 'limit'; + } + } +}; +check(); + +console.log(budget); + +var bigExpenses = function (limit) { + var output = ''; + for (var el of budget) { + if (el.value <= -limit) { + output += el.description.slice(-2) + ' / '; // Emojis are 2 chars + } + } + output = output.slice(0, -2); // Remove last '/ ' + console.log(output); +}; diff --git a/javascript/Javascript Expert/chapter17/index.html b/javascript/Javascript Expert/chapter17/index.html new file mode 100644 index 0000000..6b4c3f1 --- /dev/null +++ b/javascript/Javascript Expert/chapter17/index.html @@ -0,0 +1,30 @@ + + + + + + + + Modern JavaScript Development: Modules and Tooling + + + +

Modern JavaScript Development: Modules and Tooling

+ + diff --git a/javascript/Javascript Expert/chapter17/package.json b/javascript/Javascript Expert/chapter17/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/javascript/Javascript Expert/chapter17/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/javascript/Javascript Expert/chapter17/script.js b/javascript/Javascript Expert/chapter17/script.js new file mode 100644 index 0000000..87ebe29 --- /dev/null +++ b/javascript/Javascript Expert/chapter17/script.js @@ -0,0 +1,11 @@ +// Importing Module +// import add, { totalPrice as price, tq, addToCart } from "./shoppingCard.js"; +import * as ShoppingCard from "./shoppingCart.js"; +import add from "./shoppingCart.js"; +console.log("Importing Module"); + +add("ananas", 3); + +ShoppingCard.addToCart("bread", 5); +console.log(ShoppingCard.totalPrice); +console.log(ShoppingCard.tq); diff --git a/javascript/Javascript Expert/chapter17/shoppingCart.js b/javascript/Javascript Expert/chapter17/shoppingCart.js new file mode 100644 index 0000000..3e6140b --- /dev/null +++ b/javascript/Javascript Expert/chapter17/shoppingCart.js @@ -0,0 +1,19 @@ +console.log("Exporting Module"); +const shippingCost = 10; +const cart = []; + +const addToCart = function (product, quantity) { + cart.push({ product, quantity }); + console.log(`${product}, ${quantity} added to cart`); +}; + +const totalPrice = 237; +const totalQuantity = 21; +export { totalPrice, totalQuantity as tq, addToCart }; + +export default function (product, quantity) { + // default export braucht keinen Namen. Bei der Importierung eines solchen Export, + // kann man egal welchen Namen zuweissen, in unserem Fall ist es einfach als add Function bennant worden (sehe die Datei script.js import add from "./shoppingCard.js";) + cart.push({ product, quantity }); + console.log(`${product}, ${quantity} added to cart`); +} diff --git a/javascript/Javascript Expert/examples/index.html b/javascript/Javascript Expert/examples/index.html deleted file mode 100644 index cf57100..0000000 --- a/javascript/Javascript Expert/examples/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Event Listeners - - - -
-

Original text

-
- - diff --git a/javascript/Javascript Expert/examples/script.js b/javascript/Javascript Expert/examples/script.js deleted file mode 100644 index 6e82e19..0000000 --- a/javascript/Javascript Expert/examples/script.js +++ /dev/null @@ -1,8 +0,0 @@ -const myFunction = event => { - const date = new Date(); - document.querySelector(".demo").innerHTML = date; - console.log(date); - console.log(event); -}; - -document.addEventListener("click", myFunction);