函数
函数基础
学会定义函数、参数、返回值
函数基础
函数是 JavaScript 的一等公民,理解函数是成为 JS 高手的必经之路。
学完本章你将: 学会定义函数、传递参数、返回值。
函数声明
javascript
// 1. 函数声明(会提升)
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet("Alice")); // "Hello, Alice!"
// 函数声明会被提升到作用域顶部
sayHi(); // ✅ 可以在定义前调用
function sayHi() {
console.log("Hi!");
}
函数表达式
javascript
// 2. 函数表达式(不会提升)
const greet = function(name) {
return `Hello, ${name}!`;
};
// sayHi(); // ❌ ReferenceError:不能在定义前调用
const sayHi = function() {
console.log("Hi!");
};
参数
javascript
// 基本参数
function add(a, b) {
return a + b;
}
console.log(add(3, 5)); // 8
// 多传参数会被忽略
console.log(add(1, 2, 3, 4)); // 3
// 少传参数为 undefined
console.log(add(1)); // NaN(1 + undefined)
// 默认参数
function multiply(a, b = 1) {
return a * b;
}
console.log(multiply(5)); // 5(b 默认 1)
console.log(multiply(5, 2)); // 10
返回值
javascript
// 单个返回值
function double(x) {
return x * 2;
}
// 返回对象(注意不要换行)
function createUser(name, age) {
return { // { 必须和 return 在同一行
name: name, // 可简写为 name,
age: age, // 可简写为 age,
};
}
// 没有 return 返回 undefined
function noReturn() {
console.log("done");
}
console.log(noReturn()); // undefined
arguments 对象
javascript
// 旧方式:获得所有参数
function sum() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3, 4)); // 10
// ⚠️ arguments 不是数组,不能直接用 map/filter
// 箭头函数没有 arguments