- 函数定义
function run():string{
return 'dsdsd';
}
console.log(run());
// 匿名函数
var fun2 = function():number{
return 234;
}
console.log(fun2());
2.定义方法传参
function getInfo(name:string,age:number):string{
return `${name} --- ${age}`;
}
console.log(getInfo('zhangshan',34));
var getInfo2 = function(name:string,age:number):string{
return `${name} --- ${age}`;
}
console.log(getInfo('zhangshan',134));
- 方法可选参数 (可选参数必须配置在参数最后面)
function getInfo3(name:string,age?:number):string{
if(age){
return `${name} --- ${age}`;
}else{
return `${name} --- 年龄保密`;
}
}
console.log(getInfo3('zhangshan',34));
- 默认参数
function getInfo4(name:string,age:number=20):string{
if(age){
return `${name} --- ${age}`;
}else{
return `${name} --- 年龄保密`;
}
}
console.log(getInfo4('zhangshan'));
console.log(getInfo4('zhangshan', 30));
- 剩余类型
function sum(a:number,b:number,c:number):number{
return a+b+c;
}
console.log(sum(1,2,3));
// 三点运算符 接受新参传过来的值
function sum1(...result:number[]):number{
var sum = 0;
for(let i = 0; i < result.length; i++){
sum+=result[i];
}
return sum;
}
console.log(sum1(1,2,3));
function sum2(a:number, ...result:number[]):number{
var sum = a;
for(let i = 0; i < result.length; i++){
sum+=result[i];
}
return sum;
}
console.log(sum2(11, 1,2,3));
- 函数重载 同样的方法传入不同的参数执行同样的方法
function funInfo(name:string):string;
function funInfo(age:number):string;
function funInfo(str:any):any{
if(typeof str === 'string'){
return '我叫:' + str;
}else{
return '我的年龄是:' + str;
}
}
console.log(funInfo(43));
console.log(funInfo('ayana'));
// console.log(funInfo(true)); // 错误写法
- 箭头函数 this指向上下文
setTimeout(() => {
console.log('延迟1秒');
}, 1000);
网友评论