//函数式声明 声明返回值是string
function run():string{
return "run";
}
//匿名函数
var run2 = function():number{
return 123;
}
//ts定义方法传参
function getInfo(name:string,age:number):string{
return '${name} ------ ${age}';
}
//没有返回值
function run:void(){
console.log("1");
}
//方法可选参数
//!!!可选参数必须配置到参数的最后面
function getInfo(name:string,age?:number):string|{
if(age){
return '${name}';
}else{
return '${age}';
}
}
//默认参数
function getInfo(name:string,age:number=20):string|{
if(age){
return '${name}';
}else{
return '${age}';
}
}
//剩余参数
//三点运算符 接受新参传过来的值
function sum(a:number,...result:number[]):number{
var sum = 0;
for(var i = 0;i < result.length;i++){
sum += result[i];
}
return sum;
}
alert(sum(1,2,3,4));
//函数重载
//java中方法的重载:重载指的是两个或者两个以上同名函数,但他们的参数不一样,
//这时会出现函数重载的情况。
//typescript中的重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的。/
//ts为了兼容es5 以及es6重载的写法和java中有区别。
//es5中出现同名方法,下面的会替换上面的方法
/*
function css(config:any):any{
}
function css(config,value){
}
/*
//ts中的重载
/*
function getInfo(name:string):string;
function getInfo(age:number):number;
function getInfo(str:any):any{
if(typeof str === 'string'){
return 'string';
}else{
return 'other';
}
}
alert(getInfo('str')); //正确
alert(getInfo(20)); //正确
alert(getInfo(true)); //错误
*/
//箭头函数
//this指向的问题 箭头函数里面的this指向上下文
//setTimeout(function(){
// alert('run');
//},1000)
setTimeout(()=>{
alert('run');
},1000)
TypeScript函数
最新推荐文章于 2021-09-16 15:03:41 发布