--- tags: JavaScript 實戰班, Day14 --- # 設計魔劍三組 ## 6/25:Day 14 平常都是小美到鎮上採買,今天小美想將採買的工作交給小明處理。 小美:等等回到鎮上,幫忙看到賣檸檬的買三顆、西瓜買一顆、如果看到賣奇異果的買 10 顆,桌上的錢可以直接拿去用。 小明(建構函式中...) 小明:所以桌上有多少錢呢? 小美:你就拿去就對了 小明(苦惱中,不知如何建立此函式,但還是默默地準備出門) 小明出門前,發現了地上居然有一本 ES6 秘笈,打開後看到左上角標註著 "MDN" Logo,又恰巧是參數的那一頁... (小美欣慰著看著小明點點頭,小明卻苦惱著不知道該怎麼辦) 參數預設值:[https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Functions/Default_parameters](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Functions/Default_parameters) 其餘參數:[https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Functions/rest_parameters](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Functions/rest_parameters) 任務: - 以下程式碼中僅能調整**函式所設置的參數** - 試著透過參數預設值及其餘參數的方式完成此範例 ```js var myMoney = 0; // money 需要給予預設值 500 function getMoney(money) { myMoney = money; } getMoney(); // fruits 是一個陣列 function buySomething(fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` --- ### ClareDes. ```js var myMoney = 0; // money 需要給予預設值 500 function getMoney(money = 500) { myMoney = money; } getMoney(); // fruits 是一個陣列 function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` > 助教回覆:作業做的很好哦,預設參數設定的很正確 :+1: > ### ClareDes.|Day 11 (6/22)補交 ```js // 請將此段 var 宣告改為 let, const const Ming = '小明'; const MingAge = 16; let MingLocation = '真心鎮'; const person = { name: '小明', location: '真心鎮' } let wallet = { money: 1000 } // 需修改程式碼的結尾 // 後續程式碼,請藉此判斷使用 Let or Const MingLocation = '真心鎮郊外'; person.location = '真心鎮郊外'; wallet = {}; ``` > 助教回覆:作業做的很好哦,很正確唷 :+1: > ### ClareDes.|Day 12 (6/23)補交 ```js // 題目:1 // function sum(a, b) { // var c = a + b; // return c; // } // console.log(sum(5, 6)); const sum = (a, b) => a + b; console.log(sum(5, 6)); // // 題目:2 // function square(num) { // return num * num; // }1 // var d = square(5); // console.log(d); const square = num => num * num; console.log(square(5)); // // 題目:3 // setTimeout(function() { // console.log('延遲 10 毫秒'); // }, 10); setTimeout(() => console.log('延遲 10 毫秒'),10); // // 題目:4 // var arr = [1, 2, 3]; // var arr2 = arr.map(function(item, i) { // return item * 2; // }); // console.log(arr2); var arr = [1, 2, 3]; var arr2 = arr.map((item, i) => item * 2); console.log(arr2); // // 題目:5 // var obj = { // fn: function fn2(a) { // return a * a; // } // } // console.log(obj.fn(10)); var obj = { fn: (a) => a * a } console.log(obj.fn(10)); ``` > 助教回覆:作業做的很好哦,很正確唷 :+1: > --- ### Karen ```js var myMoney = 0; // money 需要給予預設值 500 function getMoney(money = 500) { myMoney = money; } getMoney(); console.log(myMoney) // fruits 是一個陣列 function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` > 助教回覆:作業做的很好哦,預設參數設定的很正確 :+1: > (補繳)6/24:Day 13 ```js // 請使用解構組合使 arr2 變成為 [1, 2, 3, 4, 5, 6] 的結果 var arr = [1, 2, 3]; var arr2 = [...arr,4, 5, 6]; // [1, 2, 3, 4, 5, 6] console.log(arr2); // 請使用解構組合以下兩個陣列為 [1, 2, 3, 4, 5, 6] 的結果 var nums1 = [1, 2, 3]; var nums2 = [4, 5, 6]; var nums3 = [...nums1,...nums2] console.log(nums3); // 請使用解構,取出 name 及 age 的變數 const person = { name: '小明', age: 16 } let {name,age} =person console.log(name,age) // 請使用解構,將以下陣列分別取出為獨立變數 Ming, Auntie, Jay, Mei var people = ['小明', '漂亮阿姨', '杰倫', '小美']; var[Ming, Auntie, Jay, Mei] = people console.log(Ming, Auntie, Jay, Mei) ``` > 助教回覆:作業做的很好哦,很正確唷 :+1: > ### Ryan ```javascript= var myMoney = 0; // money 需要給予預設值 500 function getMoney(money = 500) { myMoney = money; } getMoney(); // fruits 是一個陣列 function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }); console.log(`小明剩下 ${myMoney} 元`) } buySomething('lemon', 'watermelon', 'kiwi'); ``` > 助教回覆:作業做的很好哦,預設參數設定的很正確 :+1: > --- ### Yoyo ```javascript= var myMoney = 0; function getMoney(money=500) { myMoney = money; } getMoney(); function buySomething(...fruits) { fruits.forEach((item) => { if ('lemon' === item) { console.log('買 3 個檸檬'); myMoney -= 60; } else if ('watermelon' === item && !'賣奇異果的') { console.log('買 1 個西瓜'); myMoney -= 40; } else if ('watermelon' === item && '賣奇異果的') { console.log('買 10 個西瓜'); myMoney -= 400; } }) console.log(`小明剩下 ${myMoney} 元`); }; buySomething('lemon', 'watermelon', 'kiwi'); // "買 3 個檸檬" // "買 10 個西瓜" // "小明剩下 40 元" ``` > 助教回覆: