javaScript函数是执行特定任务的可重用代码块,核心作用在于封装逻辑、避免重复、提升可读性与可维护性,支持函数声明、表达式、箭头函数及对象方法等多种定义方式,并构成模块化、高阶函数、闭包和异步编程的基础。

javascript 函数是执行特定任务的可重用代码块,定义方式灵活,核心作用在于封装逻辑、避免重复、提升可读性和可维护性。
函数的几种常见定义方式
JavaScript 提供多种定义函数的方法,适应不同场景:
- 函数声明:用
function关键字开头,会被“提升”(hoisted),可在定义前调用。
例如:sayHello(); function sayHello() { console.log('Hi!'); } - 函数表达式:把函数赋值给变量,不被提升,必须先定义再调用。
例如:const add = function(a, b) { return a + b; }; - 箭头函数:简洁写法,没有自己的
this、arguments,适合简短操作或回调。
例如:const square = x => x * x; - 方法定义(对象内):直接在对象中以键值对形式书写,可省略
function关键字(es6 简写)。
例如:const obj = { greet() { return 'Hello'; } };
函数为何是 JavaScript 的核心支柱
函数不只是“一段能运行的代码”,它支撑着 js 的多数关键特性:
- 实现模块化:把大问题拆成小函数,各司其职,便于测试和协作。
- 支持高阶函数:函数可以作为参数传入(如
map、Filter)、也可以作为返回值,这是函数式编程的基础。 - 构成闭包:函数能记住并访问其词法作用域,让数据私有化、实现计数器、缓存等模式。
- 驱动异步流程:回调函数、promise 的
then、async/await都依赖函数作为执行单元。
定义函数时容易忽略的关键细节
写得顺手不等于写得正确,几个实用提醒:
立即学习“Java免费学习笔记(深入)”;
- 参数默认值可直接在形参后用
=设置,避免手动判断undefined。function greet(name = 'Guest') { return `Hello, ${name}`; } - 剩余参数(
...args)比arguments更现代、更数组友好,推荐优先使用。 - 箭头函数没有
prototype,不能用作构造函数(即不能跟new)。 - 函数名在调试、堆栈追踪中至关重要,命名应准确反映意图,避免全用箭头函数导致调试困难。
基本上就这些。函数不是语法糖,它是组织逻辑、应对复杂度最自然的工具。写好函数,JS 就稳了一半。