---
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 元"
```
> 助教回覆: