學習新程式語言的最佳方法是創建盡可能多的項目。如果您建立專注於您所學的迷你項目,您將獲得更順暢的初學者體驗。
我們的目標是避免「教學地獄」(即您不斷觀看多個教學影片而沒有任何具體項目來展示您的技能的可怕地方),並建立處理大型專案所需的信心。
在本文中,我將向初學者解釋如何使用基本的 Javascript 概念來建立購物車系統。
要嘗試這個項目,您需要深入了解:
購物車將有一個系統,使用者可以:
首先,我們需要建立一些陣列來保存項目的資料。具體需要的陣列是:
const itemNames = ["Laptop", "Phone"]; const itemPrices = [1000, 500]; const itemQuantities = [1, 2]; const itemInStock = [true, true];
我們將創建一個主要的購物車功能,其中包含購物車的邏輯。我們將使用閉包來確保購物車保持私密性,並且只有某些功能可以與其互動。
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 }; };
分解代碼:
完成的項目應該進行測試以確保其按需要工作。我們將測試:
新增項目
查看購物車
看總價
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
分解代碼:
一個好的購物車系統必須允許使用者從購物車中刪除商品。我們可以透過呼叫removeItemFromCart()來做到這一點。
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
閉包幫助購物車陣列保持私有,只能透過 ShoppingCart() 函數傳回的函數存取。
透過使用基本陣列和函數,您已經建立了一個功能齊全的購物車系統,可以新增、刪除和計算商品總數。這個專案最棒的部分是它使用閉包來封裝和管理狀態,而不需要複雜的物件或類別。
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());
我希望您喜歡學習,我很高興您能夠建立更多精彩的專案!
以上是使用陣列和函數在 JavaScript 中建立初學者友好的購物車的逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!