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]