HarmonyOS应用基础阶段- 03、Arkts基础语法入门(二)
6.函数
函数:是可以被重复使用的代码块

console.log('五角星', '☆')
console.log('五角星', '☆☆')
console.log('五角星', '☆☆☆')
console.log('五角星', '☆☆☆☆')
console.log('五角星', '☆☆☆☆☆')
需要更多个怎么办?
使用函数来解决:函数可以把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用。
6.1基本使用
先定义后调用
// 1. 定义函数
function 函数名() {
函数体
}
// 2. 调用函数(函数每调用一次,函数体就会执行一次)
函数名()
示例代码
//1.定义函数
function star() {
//函数体:将来可以被重复执行的代码
console.log('五角星', '☆')
console.log('五角星', '☆☆')
console.log('五角星', '☆☆☆')
console.log('五角星', '☆☆☆☆')
console.log('五角星', '☆☆☆☆☆')
}
//2.调用函数
star() //第1次输出 5行五角星
star() //第2次输出 5行五角星
star() //第3次输出 5行五角星
6.2完整使用
6.2.1参数
参数的作用:有了参数,函数能够接收和处理外部的数据,提高函数的灵活性和通用性。
没有参数的函数
function sum() {
let res: number = 10 + 20
console.log('加法结果是', res)
}
sum()
带参数的函数
function sum(a: number, b: number) {
let res: number = a + b
console.log('加法结果是', res)
}
sum(1, 2)
sum(10, 20)
sum(100, 200)
● 形参:形式上的参数(函数定义时候写的参数)比如 a、b
● 实参:真实数据(函数调用时候的传入的真实数据)比如sum(1,2)中的1、2
封装一个计算价格的函数,传入单价和数量,算出总价
function buy (a: number,b: number){
let total: number = a*b
console.log('总价:',total)
}
buy(5,3)
buy(8,2)
6.2.2返回值
1.为什么需要函数返回值?
函数是一块独立的执行空间,内部的执行结果函数外部无法直接使用到,如果想要在函数外部使用内部执行结果,需要将这个结果设置为函数的返回值。
返回值作用:将函数的执行结果传递给其他代码使用或进一步处理(函数外部)。
2.设置返回值
关键字:return
function sum(a: number, b: number) {
let res: number = a + b
return res //return函数执行结果
}
//sum(5, 5)
let num: number = sum(5,5)
console.log('值为:',num)
//return会将函数的执行结果res,返回到函数调用的位置,sum(5,5)的结果就是返回值res的值,返回的是值,不是变量名res,可以定义一个变量接收一下 ,let num: number = sum(5,5),再console.log('值为:',num)
例如:
需求1:苹果 2元/斤,买3斤需要多少钱?
需求1:苹果 2元/斤,买3斤需要多少钱?
function buy(price: number, weight: number) {
let money: number = price * weight // 1. 处理数据
return money // 2. 返回处理后的数据
}
let apple: number = buy(2, 3)
console.log('苹果总价', apple)
let banana: number = buy(4, 4)
console.log('香蕉总价', banana)
3.函数执行与返回值的区别
在 JavaScript 或 TypeScript 中,函数的执行结果和返回值是两个不同的概念。函数的执行结果是指函数在调用时执行的所有操作,而返回值是函数通过 return 语句明确返回的值。
function buy(a: number, b: number) {
let total: number = a * b
console.log('总价:', total)
}
buy(5, 3)
buy(8, 2)
在这段代码中,buy 函数没有使用 return 语句,因此它没有明确的返回值。然而,函数内部使用了 console.log 来输出计算结果,这是函数的执行结果。console.log 会将信息打印到控制台,但这并不影响函数的返回值。
4.函数返回值的作用
函数的返回值可以通过 return 语句明确返回一个值,这个值可以被其他代码使用或进一步处理。如果函数没有 return 语句,或者 return 语句没有返回值,函数默认返回 undefined。
function buyWithReturn(a: number, b: number): number {
let total: number = a * b
return total
}
let result1 = buyWithReturn(5, 3)
let result2 = buyWithReturn(8, 2)
console.log('总价1:', result1)
console.log('总价2:', result2)
在这个例子中,buyWithReturn 函数通过 return 语句返回了计算结果,调用函数时可以将返回值赋给变量,并在后续代码中使用。
5.总结
函数执行结果:函数在调用时执行的所有操作,包括 console.log 输出等。
函数返回值:函数通过 return 语句明确返回的值,可以被其他代码使用。
在没有 return 语句的情况下,函数默认返回 undefined,但函数内部的 console.log 仍然会执行并输出结果。
6.3箭头函数
箭头函数是 比普通函数 更简洁 的一种函数写法
let 函数名 = (形参1: 类型, 形参2: 类型) => {
// 函数体
// 1. 计算过程
// 2. 返回结果
return 计算的结果
}
函数名(实参1, 实参2)
示例代码
// 1. 基本写法
/*let star = () => {
console.log('五角星', '☆')
console.log('五角星', '☆☆')
console.log('五角星', '☆☆☆')
console.log('五角星', '☆☆☆☆')
console.log('五角星', '☆☆☆☆☆')
}
star()
star()*/
// 2. 参数与返回值
/*
* 需求1:苹果 2元/斤,买3斤需要多少钱?
* 需求2:香蕉 4元/斤,买4斤需要多少钱?
* */
let buy = (price: number, weight: number = 1) => {
let result: number = price * weight
return result
}
let apple: number = buy(2)
console.log('苹果', apple)
let banana: number = buy(4, 4)
console.log('香蕉', banana)
7.对象
作用:用于描述一个物体的特征和行为
对象:是一个可以存储多个数据的容器。
编程语言的对象:
姓名:‘小明’
年龄:18
身高:170
键值对:属性名: 属性值
7.1对象定义和使用
let 对象名称:对象结构类型=值
1.通过interface接口约定对象结构类型
interface 接口名 {
属性1: 类型1
属性2: 类型2
属性3: 类型3
}
interface Person {
name: string
age: number
weight: number
}
2.定义对象并使用:对象名.属性名
// 1. 定义接口
interface Person {
name: string
age: number
weight: number
}
// 2. 基于接口,定义对象
let ym: Person = {
name: '杨幂',
age: 18,
weight: 90
}
console.log('名字', ym.name)
console.log('年龄', ym.age)
let lss: Person = {
name: '刘诗诗',
age: 19,
weight: 88
}
console.log('名字', lss.name)
console.log('年龄', lss.age)
7.2对象-方法
方法作用:描述对象的具体行为
1.约定方法类型
interface 接口名称 {
方法名: (参数:类型) => 返回值类型
}
interface Person{
dance: () => void
sing: (song: string) => void
}
2.添加方法(箭头函数)
let ym: Person = {
dance: () => {
console.log('杨幂说', '我来跳个舞')
},
sing: (song: string) => {
console.log('杨幂说', '我来唱首', song)
}
}
// 对象名.方法名(参数)
ym.dance()
ym.sing('爱的供养')
8.联合类型
联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据。

考试成绩:分数 或 级别(A/B/C)

联合类型
// let 变量: 类型1 | 类型2 | 类型3 = 值
let judge: number | string = 100
judge = 'A+'
judge = '优秀'
console.log('年终考试评价', judge)
// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'
9.枚举类型
枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值。

// 联合类型 不方便
'#ff0f29' | '#ff7100' | '#30b30e'
使用枚举类型更方便

定义枚举类型(常量列表)
// 1. 定义枚举 (定义常量列表)
enum ThemeColor {
Red = '#ff0f29',
Orange = '#ff7100',
Green = '#30b30e'
}
// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)
更多推荐


所有评论(0)