ArkTS-函数

74 阅读2分钟

1. 函数-Function

函数:是可以被重复使用的函数

语法:

function 函数名(参数:类型):返回值类型{
    函数体
}
函数名()

1.1函数的完整用法

根据传入不同的参数,进行处理,返回处理后的数据

function 函数名(形参1:类型 形参2:类型){
//function 函数名(形参1:类型=初值 形参2:类型=初值)
	编写代码对数据进行处理
	return 处理后的结果
}
let 变量名:类型 = 函数名(形参1,形参2)

示例:传入价格和数量,返回价格

function  buy(price:number,num:number) {
  let sum = price * num
  return sum
}
let apple:number = buy(2,4)
let banana:number = buy(5,3)
console.log("总价为:",cost);

1.2 函数的可选参数

函数在定义的时候,设置了形参入口,但是在调用的时候并不是任何时候都需要传入实参数据,为了避免报错,我们可以将形参设置为可选参数, 或者给形参设置一个默认值

1.2.1 可选参数形式

语法:形参名 :类型 ?= 初值

function sayHi(msg?: string) {
  console.log('打招呼语', msg)
}

sayHi('你好')
sayHi()

1.2.2 可选参数 --默认值

在一些情况下,形参的数值不能为 undefined, 否则容易引起程序的崩溃, 比如求两个数据之和, 形参的数值就不能为undefined, 否则其计算的结果不能使用到业务逻辑当中。这时候就需要使用到默认值的形式了

function sum(x: number = 0, y: number = 0) {
  let res: number = x + y
  return res
}

console.log('结果是', sum())
console.log('结果是', sum(1, 2))

1.3 箭头函数

语法:()=>{}

let 函数名 = (形参1:类型,形参2:类型) =>{
	//函数体
    return 计算得结果
}
函数名(形参1,形参2)
//示例
//无传参
let start = ()=>{
  console.log("*")
  console.log("**")
  console.log("***")
  console.log("****")
}
start()
//有参数
let buy = (price:number,weight:number)=>{
  let result:number =price*weight
  return result
}

let apple:number = buy(2,3)
console.log("一共:",apple,"元")

1.4 剩余参数

剩余参数语法,可以将函数或方法中一个不定数量的参数表示为一个数组

function 函数名(参数1,参数2,...剩余参数数组名[]){
	//固定参数:挨个获取
	//剩余参数:以数组的形式获取
}

练习: 调用函数传参求两数之和sum,并返回sum值

function getSum(num1:number,num2:number,...theArgs:number[]){
  let sum = num1 + num2
  for(const arg of theArgs){
    sum += arg
  }
  return sum
}
console.log(getSum(1,2,3).toString())	//theArgs[]=[3]
console.log(getSum(1,2,3,4,5).toString())
//theArgs[]=[3,4,5]

image.png