鸿蒙学习(二):语句&函数

if

javascript 复制代码
if (condition1) {
  // 语句1
} else if (condition2) {
  // 语句2
} else {
  // else语句
}

switch

javascript 复制代码
switch (expression) {
  case label1: // 如果label1匹配,则执行
    // ...
    // 语句1
    // ...
    break; // 可省略
  case label2:
  case label3: // 如果label2或label3匹配,则执行
    // ...
    // 语句23
    // ...
    break; // 可省略
  default:
    // 默认语句
}

条件表达式

javascript 复制代码
condition ? expression1 : expression2

如果condition的为真值(转换后为true的值),则使用expression1作为该表达式的结果;否则,使用expression2。

有点像C和Java(静态语言类型)

For语句

javascript 复制代码
for ([init]; [condition]; [update]) {  # 初始化循环计数器;循环条件;更新计数器
  statements
}
javascript 复制代码
let sum = 0;
for (let i = 0; i < 10; i += 2) {
  sum += i;
}

For-of语句

使用for-of语句可遍历数组或字符串。示例如下:

javascript 复制代码
for (forVar of expression) {
  statements
}

While语句与Do-while语句

javascript 复制代码
while (condition) {
  statements
}
javascript 复制代码
do {
  statements
} while (condition)

Break语句与Continue语句

Throw和Try语句

throw语句用于抛出异常或错误

javascript 复制代码
throw new Error('this error')

try语句用于捕获和处理异常或错误,支持finally语句。

javascript 复制代码
try {
  // 可能发生异常的语句块
} catch (e) {
  // 异常处理
}finally{
	//必须处理的
}

函数

函数声明引入一个函数,包含其名称、参数列表、返回类型和函数体。

javascript 复制代码
function 函数名(参数类型): 返回类型{
  函数体;
  return 返回值;
}

如果可以从函数体内推断出函数返回类型,则可在函数声明中省略标注返回类型。

不需要返回值的函数的返回类型可以显式指定为void或省略标注。

例如

javascript 复制代码
function 函数名(参数类型){
  函数体;
  return 返回值;
}

可选参数的格式可为name?: Type。

javascript 复制代码
function hello(name?: string) {
  if (name == undefined) {
    console.log('Hello!');
  } else {
    console.log(`Hello, ${name}!`);
  }
}

如果在函数调用中这个参数被省略了,则会使用此参数的默认值作为实参。

函数的最后一个参数可以是rest参数。

使用rest参数时,允许函数或方法接受任意数量的实参。

javascript 复制代码
function sum(...numbers: number[]): number {
  let res = 0;
  for (let n of numbers)
    res += n;
  return res;
}

sum() // 返回0
sum(1, 2, 3) // 返回6

函数的作用域

函数的调用

函数类型

javascript 复制代码
type trigFunc = (x: number) => number // 这是一个函数类型

function do_action(f: trigFunc) {
   f(3.141592653589); // 调用函数
}

do_action(Math.sin); // 将函数作为参数传入

箭头函数(又名Lambda函数)

javascript 复制代码
let 函数名 = (参数列表): 返回类型=> {
  函数体;
  return 返回值;
}

箭头函数的返回类型可以省略;省略时,返回类型通过函数体推断。

表达式可以指定为箭头函数,使表达更简短。

闭包

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

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

javascript 复制代码
function f(): () => number {
  let count = 0;
  let g = (): number => { count++; return count; };
  return g;
}

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

函数重载

可以通过编写重载,指定函数的不同调用方式。

函数名相同

参数列表个数、类型不同/返回类型、个数不同/

相关推荐
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码7 天前
嵌入式学习路线
学习
毛小茛8 天前
计算机系统概论——校验码
学习
babe小鑫8 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms8 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下8 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。8 天前
2026.2.25监控学习
学习
im_AMBER8 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J8 天前
从“Hello World“ 开始 C++
c语言·c++·学习