函数与方法

具名函数

具名函数是有名称的函数,可以在定义之前或之后调用。

特点

  1. 有函数名。
  2. 定义后可以多次调用。
  3. 便于调试,因为在调用栈中可以看到函数名。
javascript 复制代码
function add(a, b) {
    return a + b;
}

console.log(add(2, 3)); // 输出: 5

匿名函数

匿名函数没有名称,通常用作回调函数或立即执行函数。

特点

  1. 没有函数名。
  2. 通常在需要一个短小的函数时使用,比如作为参数传递给其他函数。

函数表达式

javascript 复制代码
const multiply = function(a, b) {
    return a * b;
};

console.log(multiply(2, 3)); // 输出: 6

作为回调函数

javascript 复制代码
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(function(number) {
    return number * 2;
});

console.log(doubled); // 输出: [2, 4, 6, 8]

方法

方法是类中的函数,通常操作类的实例数据。

特点

  1. 定义在类内部。
  2. 第一个参数通常是self,代表实例本身。
  3. 可以访问和修改实例属性。
javascript 复制代码
const calculator = {
    add: function(a, b) {
        return a + b;
    },
    subtract(a, b) {
        return a - b;
    }
};

console.log(calculator.add(5, 3)); // 输出: 8
console.log(calculator.subtract(5, 3)); // 输出: 2

Promise 对象的异步操作

then 方法接受两个回调函数作为参数,第一个处理成功的结果,第二个处理失败的结果。

javascript 复制代码
fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.error('Error:', error);
    });

总结

|------|------------------|------------------------|-----------------------------------|
| 具名函数 | 都是函数,可以接收参数并返回值。 | 有名称,可以在定义之前调用(函数声明提升)。 | 当函数需要在多个地方调用,并且需要函数名称来提高代码可读性时使用。 |
| 匿名函数 | 都是函数,可以接收参数并返回值。 | 没有名称,通常用作回调函数或立即执行函数。 | 当函数只在一个地方使用,特别是作为回调函数时使用。 |
| 方法 | 都是函数,可以接收参数并返回值。 | 是对象的属性,定义在对象或类中。 | 当函数属于某个对象或类,并且需要在对象上下文中调用时使用。 |

相关推荐
BD_Marathon4 分钟前
【JavaWeb】JS_JSON在服务端的使用
javascript
一 乐8 分钟前
海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
m0_7269659812 分钟前
ReAct 小发展
前端·react.js·前端框架
秋邱13 分钟前
AR 技术团队搭建与规模化接单:从个人到团队的营收跃迁
前端·人工智能·后端·python·html·restful
Hello.Reader15 分钟前
从 SSE 到 WebSocket实时 Web 通信的全面解析与实战
前端·websocket·网络协议
大熊猫侯佩20 分钟前
Swift 6.2 列传(第三篇):字符串插值的 “补位神技”
前端·swift·apple
大熊猫侯佩25 分钟前
Swift 6.2 列传(第二篇):标识符的 “破界神通”
前端·swift·apple
一颗宁檬不酸26 分钟前
Java Web 踩坑实录:JSTL 标签库 URI 解析失败(HTTP 500 错误)完美解决
java·开发语言·前端
Nan_Shu_61430 分钟前
熟悉RuoYi-Vue-Plus-前端 (2)
前端·javascript·vue.js
酒尘&33 分钟前
JavaScript官网Promise篇
开发语言·前端·javascript·前端框架·交互