//js中定义函数的方法
//声明法
function run(){
return 'running-man'
}
//匿名函数
var num = function(){
return 'running-man'
}
num()
//ts中定义函数的方法
//声明法
function run():string{
return 'running-man'
}
//在声明的时候规定返回的数据类型
//匿名函数
var num = function():string{
return 'running-man'
}
num()
//定义方法传参
function getData(name:string,age:number):string{
return `${name} + ${age}`;
}
//匿名函数传参
var getData = function(name:string,age:number):string{
return `${name} + ${age}`;
}
//没有返回值的函数
function run():void(){
console.log('run')
}
run() //run
//方法可选参数
//js中实参和形参可以不一样,但是ts中必须一样,如果不一样需要配置参数
function getData(name:string,age?:number):string{
if(age){
return `${name} + ${age}`;
}else{
return `${name} +暂无数据`;
}
}
getData('zhangsan') // 不报错正常运行
//注意:可参数需要写在最后面(age?:number,name:string)这样写会报错!!
//默认参数
function getData(name:string,age:number=20):string{
if(age){
return `${name} + ${age}`;
}else{
return `${name} +暂无数据`;
}
}
函数重载
java中方法的重载,指的是两个或者两个以上的同名函数,但是他们参数不一样,这是会出现函数重载的情况。
typescript中的重载,通过为同一个函数提供多个函数类型定义来试多种功能的目的。
看到这里我一脸懵逼,没见过函数的重载呀,然后往下看~~
在js中,如果我定义了两个同名方法,并调用它,默认执行第二个方法,第一个方法默认被覆盖。这就是方法的重载。
但是在ts中不是这样的。我自己没能很好理解ts中的函数重载问题,所以这里会在以后的学习中回来补充~~谢谢大噶!