JavaScript 函數:初學者指南

你好,未來的 JavaScript 開發者們!我很興奮能成為你們在這個令人興奮的旅程中的導遊,帶你們進入 JavaScript 函數的世界。作為一個教了多年編程的人,我可以告訴你們,函數就像是編程中的瑞士軍刀——多用途、強大,絕對是必需的。那麼,我們來深入了解一下吧!

JavaScript - Functions

什麼是函數?

把函數想像成完成特定任務的小機器。你放些東西進去,它進行一些工作,通常會給你一些回饋。這就像烤麵包機一樣——你放進麵包,它烤脆,然後給你回饋酥脆美味的吐司!

函數定義

讓我們從學習如何創建或“定義”一個函數開始:

function greetStudent(name) {
console.log("Hello, " + name + "! Welcome to JavaScript class!");
}

這裡發生了什麼:

  1. 我們使用 function 關鍵字告訴 JavaScript 我們正在創建一個函數。
  2. 我們給它一個名稱(在這個例子中是 greetStudent)。
  3. 在括號中,我們列出函數需要的任何信息(稱為“參數”)。
  4. 在花括號 {} 內,我們寫下函數將要執行的代碼。

呼叫函數

定義一個函數就像寫一個食譜。但要想真正使用它,我們需要“呼叫”這個函數:

greetStudent("Alice");
// 輸出:Hello, Alice! Welcome to JavaScript class!

greetStudent("Bob");
// 輸出:Hello, Bob! Welcome to JavaScript class!

看見我們如何使用同一個函數卻傳入不同的名字了嗎?這就是函數的力量——寫一次,多次使用!

函數參數

參數就像是食譜中的食材。它們是給函數的信息,讓它能夠完成工作。讓我們看一個更複雜的例子:

function calculateArea(length, width) {
let area = length * width;
console.log("The area is: " + area + " square units");
}

calculateArea(5, 3);
// 輸出:The area is: 15 square units

calculateArea(10, 7);
// 輸出:The area is: 70 square units

在這個例子中,lengthwidth 是參數。我們每次調用函數時都可以傳入不同的值,使得它非常靈活!

return 語句

有時候,我們希望函數給我們回傳一個值,我們稍後可以使用。這時就用到了 return

function addNumbers(a, b) {
return a + b;
}

let sum = addNumbers(5, 3);
console.log("The sum is: " + sum);
// 輸出:The sum is: 8

let anotherSum = addNumbers(10, 20);
console.log("Another sum is: " + anotherSum);
// 輸出:Another sum is: 30

return 語句將一個值傳回給調用函數的地方。這讓我們能在代碼的其他部分使用這個結果。

函數作為變量的值

這裡有一個讓人思考的問題:在 JavaScript 中,函數可以被當作值對待!我們可以把函數存儲在變量中,將它們傳遞給其他函數,甚至從函數中回傳它們。看看這個:

let greet = function(name) {
console.log("Hi there, " + name + "!");
};

greet("Charlie");
// 輸出:Hi there, Charlie!

let sayHello = greet;
sayHello("Dana");
// 輸出:Hi there, Dana!

這被稱為“函數表達式”。就像把一個食譜存放在食谱集中——隨時可以使用!

常見函數方法

這裡是一張 JavaScript 中一些常見函數方法的表格:

方法 描述 示例
call() 調用一個函數,並為其提供給定的 this 值和個別提供的參數 greet.call(null, "Eve")
apply() 調用一個函數,並為其提供給定的 this 值和作為數組提供的參數 greet.apply(null, ["Frank"])
bind() 創建一個新函數,當調用它時,其 this 鍵被設定為提供的值 let boundGreet = greet.bind(null, "Grace")

這些方法讓你在使用函數時有更多的靈活性,但如果現在這些看起來複雜,別擔心。我們稍後會更深入地介紹它們!

總結

恭喜你們!你們剛剛踏入了 JavaScript 函數的奇妙世界。記住,熟練來自練習,所以不要害怕嘗試你們學到的知識。試著創建你們自己的函數,玩轉參數和回傳值,看看你們能創造出什麼!

在我多年的教學經歷中,我見過無數學生從困惑到自信的轉變。這就像看到燈泡亮起——突然之間,一切都開始有了意義。所以請持續努力,在你們知道之前,你們將會在睡夢中寫出函數(雖然我不推薦在真正睡著的時候編程——相信我,我試過,結果……很有趣,至少是最起碼的)。

快樂編程,我們在下堂課見!

Credits: Image by storyset