返回值
返回值是函数向外界传递结果的机制,return 语句终止函数执行并返回值。
return语句
基本用法
JavaScript
function add(a, b) {
return a + b;
}
const result = add(1, 2); // 3
无返回值
JavaScript
function log(msg) {
console.log(msg);
// 无return或return; 返回undefined
}
const result = log('hello'); // undefined
提前返回
JavaScript
function divide(a, b) {
if (b === 0) {
return '除数不能为0';
}
return a / b;
}
divide(10, 2); // 5
divide(10, 0); // 除数不能为0
返回多种类型
返回基本类型
JavaScript
function getStatus(code) {
if (code === 200) return 'success';
return 'error';
}
返回对象
JavaScript
function createUser(name, age) {
return {
name,
age,
greet() {
console.log(`Hi, I'm ${this.name}`);
}
};
}
返回数组
JavaScript
function getCoords() {
return [10, 20];
}
const [x, y] = getCoords();
返回函数
JavaScript
function multiply(a) {
return function(b) {
return a * b;
};
}
const double = multiply(2);
double(5); // 10
返回值特性
只返回一个值
JavaScript
function wrong() {
return 1, 2, 3; // 只返回最后一个值
}
wrong(); // 3
返回多个值的方法
JavaScript
function getMinMax(arr) {
return {
min: Math.min(...arr),
max: Math.max(...arr)
};
}
// 或返回数组
function getMinMax(arr) {
return [Math.min(...arr), Math.max(...arr)];
}
return后的代码不执行
JavaScript
function test() {
return 'done';
console.log('不会执行');
}
隐式返回
箭头函数单表达式可省略return:
JavaScript
const add = (a, b) => a + b;
// 等价于
const add = (a, b) => {
return a + b;
};
返回对象需加括号:
JavaScript
const createUser = (name) => ({ name });
// 错误写法
const createUser = (name) => { name }; // undefined
返回值对比
| 情况 | 返回值 |
|---|---|
| 有return语句 | return后的值 |
| 无return语句 | undefined |
| return; | undefined |
| 箭头函数无{} | 表达式的值 |
| 箭头函数有{} | 需显式return |
要点总结
return终止函数执行并返回值- 无
return或return;返回undefined - 可以返回任意类型的值(对象、数组、函数等)
- 箭头函数单表达式隐式返回
- 返回对象时箭头函数需用括号
({})
📝 发现内容有误?点击此处直接编辑