iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
0
自我挑戰組

JavaScript 新手筆記系列 第 8

Day08 - 函數(01)

  • 分享至 

  • xImage
  •  

前言

這次主要是說明函數是什麼

函數( function )

  • 函數 = function
  • f(x) = 2x + 3,其中的f(x)其實就是指函數
  • 可以重複使用,不用重複寫程式
  • 語法如下
function funname(參數){
// funname 為自行定義的名稱
// function 的內容,如 2x + 3
}

funname(); // 有這個才會執行 funname 的內容
  • 參數可以為空,可以不只1個
  • 函數定義好後,必須執行才會使用
  • 使用 return 回傳運算完的結果,console.log 不是回傳值

例子

  • 輸出單一內容
function sayHi(){
 console.log("Hi!");
}

sayHi(); // 輸出 Hi!
  • 加入參數後輸出
function sayHi(name){
 console.log("Hi! " + name);
}
sayHi("小明"); // 輸出 Hi! 小明
  • 單參數,f(x) = 3x + 2
function fun(x){
 y = 3 * x + 2 ;
 console.log(y);
}

fun(2); // 輸出 8
  • 多參數,( )內以 , 分別
f(x,y) = 2x + 3y ;

function funxy(x , y){
 f = 3 * x + 2 * y + 3 ;
 console.log(f);
}

funxy(2,1);  // 輸出 11
  • 使用 return ,回傳值
function fun(x){
 y = 3 * x + 2 ;
 return y ;
}

console.log(fun(2)); // 輸出 8

問題

  • 全域變數和區域變數?
    • 全域變數:在整個程式內都會執行,影響整個
    • 區域變數:在特定的區域(函數)內執行,只影響區域內
    • 基本上在函數外的都是全域變數,函數內的基本是區域變數
    • 函數內,有 var = 區域變數,無 var = 全域變數
  • 可參考此例子的數值變化
a = 5 ; // 全域
var b = 4 ; // 全域

function test(){
 a = 11 ; // 全域
 var b = 22 ; // 區域
 console.log("a = "+ a); // a = 11
 console.log("b = "+ b); // b = 22
}

console.log("a = "+ a); // a = 5
console.log("b = "+ b); // b = 4

test();
// 將 a 改變了 a = 11 , b 暫時改變 b = 22

console.log("a = "+ a); // a = 11 維持為11
console.log("b = "+ b); // b = 4 恢復為4

次回

接下來練習一下函數的例子吧!


上一篇
Day07 - 變數(04)
下一篇
Day09 - 函數(02) - BMI
系列文
JavaScript 新手筆記31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言