JavaScript 函數:初學者指南
你好,未來的 JavaScript 開發者們!我很興奮能成為你們在這個令人興奮的旅程中的導遊,帶你們進入 JavaScript 函數的世界。作為一個教了多年編程的人,我可以告訴你們,函數就像是編程中的瑞士軍刀——多用途、強大,絕對是必需的。那麼,我們來深入了解一下吧!
什麼是函數?
把函數想像成完成特定任務的小機器。你放些東西進去,它進行一些工作,通常會給你一些回饋。這就像烤麵包機一樣——你放進麵包,它烤脆,然後給你回饋酥脆美味的吐司!
函數定義
讓我們從學習如何創建或“定義”一個函數開始:
function greetStudent(name) {
console.log("Hello, " + name + "! Welcome to JavaScript class!");
}
這裡發生了什麼:
- 我們使用
function
關鍵字告訴 JavaScript 我們正在創建一個函數。 - 我們給它一個名稱(在這個例子中是
greetStudent
)。 - 在括號中,我們列出函數需要的任何信息(稱為“參數”)。
- 在花括號
{}
內,我們寫下函數將要執行的代碼。
呼叫函數
定義一個函數就像寫一個食譜。但要想真正使用它,我們需要“呼叫”這個函數:
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
在這個例子中,length
和 width
是參數。我們每次調用函數時都可以傳入不同的值,使得它非常靈活!
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