01.函数的基本使用
匿名函数
const yearMonth=function (year:number,month:number):number {
return year+month
}
let yea1=yearMonth(12,20)
console.log(yea1);
有名函数 | 命名函数 | 普通函数
//有名函数 | 命名函数 | 普通函数
function older(worker:string) {
return worker
}
let rea2=older("电焊工")
console.log(`亚鑫的职业是${rea2}`);
// const workeAge=(age:number):void=>{
// console.log(`我的工作经验有${age}年了`);
// }
const workeAge=(age:number):void=>console.log(`我的工作经验有${age}年了`);
workeAge(20)
接口函数
type mySex=(x:number,y:number)=>number
const mysex:mySex=(a:number,b:number)=>a+b
const rea3=mysex(0,0)
console.log(`我是亚鑫,我是个诡计多端的${rea3}`);
02.函数的参数处理
●可选参数:
* 在TypeScript函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识?
//可选参数
const func1:(a:number,b:number)=>number=(x:number,y:number)=>{
return x;
}
const func2=function(a:number,b?:number):number{
return a;
}
func2(10);
func2(10,20);
func2(10,undefined);
●默认参数:
* 我们也可以设置参数的默认值,这样在调用函数的时候,如果不传入该参数的值,则使用默认参数,语法格式为``
//参数的默认值
const func3=function(x:number,y:number,z:number=300) {
return x+y+z;
}
// let res=func3(100,200)
let res=func3(100,200,400)
console.log(res);
●剩余参数:
* 有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。
* 剩余参数语法允许我们将一个不确定数量的参数作为一 个数组传入。...args :any[ ]
//函数的剩余参数
const func4=function (...args:any[]) {
console.log(args);
}
func4(10,20,30,"亚鑫")
const func5=function(a:number,b:string,...args:any[]) {
console.log(a);
console.log(b);
console.log(args);
}
func5(10,"利宾","胡歌","彭于晏")
03.构造函数
//构造函数
var myfunc=new Function("a","b","return a*b")
var res=myfunc(10,2)
console.log(res);
04.函数的重载
//函数重载
//函数的名字相同,而参数不同,返回的类型可同可不同
function addFunc(a:number,b:number):number
function addFunc(a:string,b:string):string
function addFunc(a:string,b:number):number
function addFunc(a:number,b:string):number
function addFunc(a:any,b:any){
return a+b
}
addFunc(10,10)
addFunc("我的名字叫","亚鑫")
addFunc("我的sex是",0)
addFunc(1,"我的最爱")
//参数的数量不同
function str(s1:string):string
function str(s1:string,n1:string):void
function str(s1:string,n1:number):void
function str(s1:any,n1?:any):any{
console.log(s1);
console.log(n1);
}
// str("亚")
str("亚鑫","dell")
str("亚鑫",0)