# BMI ## 宣告變數 ```javascript= let variable = value; ``` 等同於 ```javascript= let variable; variable = value; ``` 意思是: 1. 宣告一個名稱為`variable`的變數 2. 將變數`variable`的值設為`value` 3. `=` : assign,通常翻譯作「賦值」,將右邊的值賦與左邊的變數 4. 因此如 `2 = age` 這樣是不合法(造成程式跳錯誤),因為試圖修改常數2 --- ## 宣告函數 ```javascript= const BMI = function(weight , height){ let result = 0; /* ... * * */ return result; } ``` 這裡的 `weight` 、 `height` 稱為參數,在block內 {} 可以直接使用, 可以想像成 ```javascript= const BMI = function(let weight , height){ } ``` --- ```javascript= const BMI = function(weight , height){ let weight = w let height= h return w / ((h/100)**2); } ``` --- > 第二行 將weight指定為w 第三行 將height指定為h 1. 宣告變數的方向相反了。 2. 因為 `weight` `height` 在函數範圍(block)內可以直接呼叫使用,不需要再另外宣告w、h進行後續操作。 3. 為了可讀性,避免無意義的變數名稱。 --- > 第四行 使用return計算 w除以((h除以100)平方) ```javascript= return value ``` return 的功能是單純把程式執行交回主程序,並回傳值 較恰當的說法是 return 回傳了 `w除以((h除以100)平方)` 運算完的結果