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

ArkTS语言基础之函数

前言

臭宝们终于来到了ArkTS基础之函数,今天我们来学习一下ArkTS的函数的相关知识,上一节中也有一些函数的基础知识。

函数声明

函数声明引入一个函数,包含其名称、参数列表、返回类型和函数体,在下面的例子中,我们声明了一个名为add的函数,它有两个number类型的参数和一个返回类型为number的结果。

function add(a: number, b: number): number {

return a + b;
}

函数的作用域

函数中定义的变量和其他实例仅可以在函数内部访问,不能从外部访问。

如果函数中定义的变量与外部作用域中已有实例同名,则函数内的局部变量定义将覆盖外部定义。

函数调用

函数调用时,需要传入正确的参数。

add(1, 2); // 返回3

箭头函数

箭头函数是ES6中引入的,它提供了一种更简洁的方式来编写函数表达式。

const add = (a: number, b: number): number => {
  return a + b;
};

闭包

闭包是由函数及声明该函数的环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。

在下例中,f函数返回了一个闭包,它捕获了count变量,每次调用z,count的值会被保留并递增。

function f(): () => number {
  let count = 0;
  let g = (): number => { count++; return count; };
  return g;
}

let z = f();
z(); // 返回:1
z(); // 返回:2

函数重载

ArkTS支持函数重载,即同一个函数可以有多个定义。注意,两个函数的参数必须不同。

function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {
  if (typeof a === 'string' || typeof b === 'string') {
    return `${a}${b}`;
  } else {
    return a + b;
  }
}

add(1, 2); // 返回3
add('hello', 'world'); // 返回"helloworld"

结尾

臭宝们,今天的内容就到这里了,快去试试吧!

相关文章:

  • 从Excel到智能中枢:工单管理的MES系统进化论
  • 40、web前端开发之Vue3保姆教程(四)
  • tcp/ip攻击及防范
  • 7、nRF52xx蓝牙学习(nrf_gpiote.c库函数学习)
  • Spring 服务调用接口时,提示You should be redirected automatically to target URL:
  • 7.第二阶段x64游戏实战-分析人物属性
  • 软件需求分析习题汇编
  • PostGreSQL/openGauss表膨胀处理
  • Postman测试
  • [创业之路-364]:穿透表象:企业投资的深层逻辑与误区规避
  • 程序化广告行业(69/89):电商素材制作与展示策略解析
  • 程序化广告行业(71/89):ABTester与Tag Manager系统深度解析
  • Android学习总结之数据结构篇
  • <tauri><rust><GUI>基于rust和tauri,将tauri程序打包为window系统可安装的安装包(exe、msi)
  • TRUMPF PFG-RF RF Generators Operating instructions 操作使用说明
  • 【android bluetooth 框架分析 01】【关键线程 1】【关键线程介绍】
  • 2025 年江苏交安安全员考试:借助本地培训资源提升能力​
  • 集合计算高级函数
  • 图库项目开发 阶段二-图片优化
  • 数据结构与算法——链表OJ题详解(1)
  • 温州网站建设设计/东莞搜索引擎推广
  • 班级建设网站设计方案/北京网优化seo公司
  • 湖南浏阳疫情/班级优化大师功能介绍
  • 长沙做网站最好的公司有哪些/网络营销可以做什么工作
  • 怎样用FW做网站的首页/新网店怎么免费推广
  • 企业门户网站优化/凡科网建站系统源码