函数
定义函数
//定义函数
function run():string{
return 'hello world';
}
//函数调用
run();
匿名函数
var fun2=function():number{
return 123;
}
alert(fun2);
方法传参
function getInfo(name:string,age:number):string{
return `${name}---${age}`;
}
alert(getInfo('张三',20));
没有返回值的方法
function run():void{
console.log('run');
}
run();
可选参数
//?通过问号配置,可选参数必须放在后面
function getInfo(name:string,age?:number):string{
return `${name}---${age}`;
}
console.log(getInfo('张三'));//张三---undefined
console.log(getInfo('张三',25));//张三----25
默认参数
//设置默认参数的即使不传参数也不会报错
function getInfo(name:string,age:number=20):string{
return `${name}---${age}`;
}
console.log(getInfo('张三'));//张三---20
console.log(getInfo('张三',25));//张三---25
剩余参数
// 三点运算符接受形参传过来的值
function sum(a:number,...result:number[]):number{
var sum=a;
for(var i=0;i<result.length;i++){
sum+=result[i];
}
return sum;
}
alert(sum(1,2,3,4));
函数重载
function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{
if(typeof str==='string'){
return '我叫'+str;
}else
{
return '我的年龄是'+str;
}
}
console.log(getInfo('zhansan'));//正确重载第一个方法
console.log(getInfo(25));///正确重载第二个方法
//alert(getInfo(true));//错误,没法重载
箭头函数
//this指向的问题 箭头函数里面的this指向上下文
setTimeout(() => {
alert('run');
}, 1000);