# 【Day12】函數function ###### tags: `JavaScript` `14th鐵人賽` 本篇內容包含: - 函數function如何使用 - 參數 - return --- ## 函數 當我們面臨的問題越來越複雜時,程式也會變得複雜,但是有一種簡單的方式就是function,他可以將多行的代碼打包在一起,並在需要時可以重複使用他們。 函數須具備的三個條件: 1. 函式的名稱、匿名函式 2. `( )`小括號中稱為參數,參數間使用`,`分開 3. `{ }`大括號中重賦執行的內容,函式功能的主要區塊 透過一個簡單的函式做介紹: 我下午待辦事項 寫作業→遛狗→買牛奶→去書店 ```jsx function afternoonToDo(){ //函式宣告 console.log("寫作業"); // 函式執行的動作 console.log("遛狗"); console.log("買牛奶"); console.log("去書店"); } afternoonToDo(); // 執行{ }大括號中的函式 ``` ### 加上參數 ```jsx function reverseString(str){ console.log( str.split("").reverse().join("")); //參數str加上三個語法 } reverseString("把我倒過來") // 來過倒我把 // .split("")字串分割成字符串數組 (字串轉陣列) // .reverse()反轉陣列 // .join("")把數組中的所有元素放入一個字符串(陣列合併字串) ``` ### 兩個參數 參數中間需使用,分開 ```jsx function isNum(num1,num2){ console.log(num1) console.log(num2) } isNum(2,3) /* 2 3 */ ``` 在以上範例function中都是使用console.log打印出結果,若需重複使用時則可使用return與宣告變數。 ## return回傳語句 return常用在把函數中的內容往外傳並為他宣告一個變數 ```jsx //買午餐的計算機 function buy(foodMoney,drinkMoney){ return foodMoney + drinkMoney; // 將資料回傳 } let dogTotalBuy = buy(50,25); // 宣告一個變數dogTotalBuy(小狗總共買)加上參數 let catTotalBuy = buy(80,10); console.log(`今天午餐花了${dogTotalBuy}元`); //將dogtotalBuy加上字串打印出來 ``` 如果覺得return內容好長一串可以在其中加入變數 ```jsx // 更改return寫法 function buy(foodMoney,drinkMoney){ let totalMoney = foodMoney + drinkMoney // 新增一個let 變數命名為totalMoney return totalMoney; // 將資料回傳 } ``` 複習一下區域與全域變數:此時若在外想在函式外打印出`totalMoney`時會發現錯誤,是因為`let`只供函數區塊內作用 ### 多個return 當多個`return`出現時,將會於第一個`return`便中斷函式執行 ```jsx function str(){ return("第一串文字"); return("第二串文字輪不到我嗚嗚嗚"); } str(); // 第一串文字 ``` 最近發現真的有人在看我的文章,還看到很多錯字今天有認真檢查了一下哈哈哈d(・∀・ˋ)b,也謝謝大家糾正~若有任何問題或補充歡迎留言唷感謝~