当前位置: 首页 > article >正文

函数与方法

具名函数

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

特点

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

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

匿名函数

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

特点

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

函数表达式

const multiply = function(a, b) {
    return a * b;
};

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

作为回调函数

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. 可以访问和修改实例属性。
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 方法接受两个回调函数作为参数,第一个处理成功的结果,第二个处理失败的结果。

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

总结

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

http://www.kler.cn/a/522439.html

相关文章:

  • concurrent.futures.Future对象详解:利用线程池与进程池实现异步操作
  • MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询
  • Mybatis是如何进行分页的?
  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
  • Oracle迁移DM数据库
  • docker安装emqx
  • 浅谈OceanBase旁路导入
  • 如何学习Java后端开发
  • js手撕 | 使用css画一个三角形 使用js修改元素样式 驼峰格式与“-”格式相互转化
  • QT交叉编译环境搭建(Cmake和qmake)
  • MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
  • 【深度学习】常见模型-自编码器(Autoencoder, AE)
  • python -m pip和pip的主要区别
  • 亚博microros小车-原生ubuntu支持系列:14雷达跟踪与雷达守卫
  • CAN波特率匹配
  • OPPO自研DataFlow架构与实践
  • RHEL封闭环境部署zabbix
  • 【数据资产】数据资产管理概述
  • Workerman和Swoole有什么区别
  • Verilog中if语句和case语句综合出的电路区别
  • RabbitMQ 多种安装模式
  • 【信息系统项目管理师-选择真题】2013下半年综合知识答案和详解
  • 基于Springboot + vue实现的洗衣店订单管理系统
  • 2025年01月27日Github流行趋势
  • MySQL 日志:undo log、redo log、binlog 概述
  • java基础——专题一 《面向对象之前需要掌握的知识》