返回
函数(1)阅读笔记:红宝书第四天
前端
2024-01-17 17:06:27
今天我们来阅读《红宝书》第四天的内容——函数。
函数是 JavaScript 中最重要的概念之一,它允许我们定义一组可以被重复执行的代码块。我们可以使用函数来封装代码、组织代码并提高代码的可重用性。
函数声明
在 JavaScript 中,我们可以使用两种方法来声明函数:函数声明和函数表达式。
函数声明 使用以下语法:
function functionName(parameters) {
// 函数体
}
函数表达式 使用以下语法:
const functionName = (parameters) => {
// 函数体
};
箭头函数
箭头函数是 ES6 中引入的一种特殊类型的函数。它们使用以下语法:
const functionName = (parameters) => expression;
箭头函数与普通函数的主要区别在于:
- 箭头函数没有自己的
this
。 - 箭头函数不能使用
arguments
对象。 - 箭头函数不能使用
super
关键字。
函数调用
要调用函数,我们只需使用函数名后跟括号,例如:
functionName();
我们可以向函数传递参数,这些参数将在函数体内作为局部变量使用。
函数作用域
函数的作用域是它可以访问的变量的集合。函数的作用域由其声明位置决定。在 JavaScript 中,函数的作用域要么是全局的,要么是局部(嵌套在另一个函数中)。
全局函数可以在脚本的任何地方访问,而局部函数只能在其声明函数内部访问。
函数柯里化
函数柯里化是一种将函数分解为一系列较小函数的技术。每个较小的函数都接受一个参数,并返回一个新函数,该新函数接受下一个参数,依此类推,直到执行原始函数。
函数柯里化在函数组合和创建部分应用函数方面很有用。
函数重载
函数重载允许我们为同一函数名称定义多个实现。每个实现接受不同数量或类型的参数。
函数重载在 JavaScript 中不被原生支持,但可以使用技巧来实现。
示例代码
// 函数声明
function add(a, b) {
return a + b;
}
// 函数表达式
const multiply = (a, b) => a * b;
// 箭头函数
const square = (x) => x * x;
// 函数调用
const result = add(2, 3);
console.log(result); // 输出:5
// 函数柯里化
const addCurried = (a) => (b) => a + b;
const add5 = addCurried(5);
const result = add5(10);
console.log(result); // 输出:15
// 函数重载(使用技巧实现)
function sum(a, b) {
if (arguments.length === 1) {
return a;
} else {
return a + b;
}
}
const result = sum(5);
console.log(result); // 输出:5
const result = sum(5, 10);
console.log(result); // 输出:15
我希望这篇文章能帮助你理解 JavaScript 函数的概念。请随时提出任何问题或发表评论。