Der beste Weg, eine neue Programmiersprache zu lernen, besteht darin, so viele Projekte wie möglich zu erstellen. Als Anfänger werden Sie eine reibungslosere Erfahrung machen, wenn Sie Miniprojekte erstellen, die sich auf das konzentrieren, was Sie gelernt haben.
Das Ziel besteht darin, die „Tutorial-Hölle“ zu vermeiden – den gruseligen Ort, an dem man sich ständig mehrere Tutorial-Videos ansieht, ohne ein konkretes Projekt zu haben, um seine Fähigkeiten unter Beweis zu stellen – und außerdem das nötige Selbstvertrauen aufzubauen, um größere Projekte in Angriff zu nehmen.
In diesem Artikel erkläre ich, wie Sie als Anfänger mithilfe grundlegender Javascript-Konzepte ein Warenkorbsystem erstellen können.
Um dieses Projekt in Angriff zu nehmen, benötigen Sie fundierte Kenntnisse in:
Der Warenkorb verfügt über ein System, mit dem Benutzer Folgendes tun können:
Zu Beginn müssen wir einige Arrays erstellen, die die Daten für unsere Artikel enthalten. Die speziell benötigten Arrays sind:
const itemNames = ["Laptop", "Phone"]; const itemPrices = [1000, 500]; const itemQuantities = [1, 2]; const itemInStock = [true, true];
Wir werden eine Haupt-Warenkorbfunktion erstellen, die die Logik für den Warenkorb enthält. Wir werden Schließungen verwenden, um sicherzustellen, dass der Warenkorb privat bleibt und nur bestimmte Funktionen mit ihm interagieren können.
const ShoppingCart = () => { const cart = []; // The cart is a private array // Add an item to the cart const addItemToCart = (itemIndex) => { if (itemInStock[itemIndex]) { cart.push(itemIndex); console.log(`${itemNames[itemIndex]} added to the cart`); } else { console.log(`${itemNames[itemIndex]} is out of stock`); } }; // Remove an item from the cart const removeItemFromCart = (itemIndex) => { const index = cart.indexOf(itemIndex); if (index > -1) { cart.splice(index, 1); } }; // Get the names of items in the cart const getCartItems = () => { return cart.map(itemIndex => itemNames[itemIndex]); }; // Calculate the total price of items in the cart const calculateTotal = () => { return cart.reduce((total, itemIndex) => { return total itemPrices[itemIndex] * itemQuantities[itemIndex]; }, 0); }; return { addItemToCart, removeItemFromCart, getCartItems, calculateTotal }; };
Um den Code aufzuschlüsseln:
Ein fertiges Projekt sollte getestet werden, um sicherzustellen, dass es wie erforderlich funktioniert. Wir werden testen auf:
Elemente hinzufügen
Anzeigen des Warenkorbs
Gesamtpreis prüfen
const myCart = ShoppingCart(); // Add a Laptop (item 0) myCart.addItemToCart(0); // Add a Phone (item 1) myCart.addItemToCart(1); // View cart contents console.log(myCart.getCartItems()); // Output: ['Laptop', 'Phone'] // Calculate the total price console.log(myCart.calculateTotal()); // Output: 2000
Um den Code aufzuschlüsseln:
Ein gutes Warenkorbsystem muss es dem Benutzer ermöglichen, Artikel aus dem Warenkorb zu entfernen. Wir können dies tun, indem wir „removeItemFromCart()“ aufrufen.
myCart.removeItemFromCart(1); // Remove the Phone // View the updated cart console.log(myCart.getCartItems()); // Output: ['Laptop'] // Recalculate the total price console.log(myCart.calculateTotal()); // Output: 1000
Abschlüsse tragen dazu bei, dass das Warenkorb-Array privat bleibt und nur über die von der Funktion ShoppingCart() zurückgegebenen Funktionen zugänglich ist.
Durch die Verwendung grundlegender Arrays und Funktionen haben Sie ein voll funktionsfähiges Warenkorbsystem erstellt, das Artikel hinzufügen, entfernen und Gesamtsummen berechnen kann. Das Tolle an diesem Projekt ist, dass es Abschlüsse verwendet, um den Zustand zu kapseln und zu verwalten, ohne dass komplexe Objekte oder Klassen erforderlich sind.
const itemNames = ["Laptop", "Phone"]; const itemPrices = [1000, 500]; const itemQuantities = [1, 2]; const itemInStock = [true, true]; const ShoppingCart = () => { const cart = []; const addItemToCart = (itemIndex) => { if (itemInStock[itemIndex]) { cart.push(itemIndex); console.log(`${itemNames[itemIndex]} added to the cart`); } else { console.log(`${itemNames[itemIndex]} is out of stock`); } }; const removeItemFromCart = (itemIndex) => { const index = cart.indexOf(itemIndex); if (index > -1) { cart.splice(index, 1); } }; const getCartItems = () => { return cart.map(itemIndex => itemNames[itemIndex]); }; const calculateTotal = () => { return cart.reduce((total, itemIndex) => { return total itemPrices[itemIndex] * itemQuantities[itemIndex]; }, 0); }; return { addItemToCart, removeItemFromCart, getCartItems, calculateTotal }; }; const myCart = ShoppingCart(); myCart.addItemToCart(0); myCart.addItemToCart(1); console.log(myCart.getCartItems()); console.log(myCart.calculateTotal()); myCart.removeItemFromCart(1); console.log(myCart.getCartItems()); console.log(myCart.calculateTotal());
Ich hoffe, dass Ihnen das Lernen Spaß gemacht hat, und ich freue mich darauf, dass Sie weitere tolle Projekte erstellen!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3