(1)函数声明法
function run():string{
return 'run'
}
// 匿名函数
var run2=function():number{
return 123
}
run2()
(2)ts中定义方法传参
function getInfo(name:string,age:number):string{
return `${name} ===${age}`
}
getInfo('张三',20)
(3)没有返回值的方法
function run():void {
console.log('run');
}
run()
(4)方法的可选参数(可选参数必须配置到参数的最后面!!!!!)
function getInfo(name: string, age?: number): string {
if (age) {
return `${name}===${age}`
} else {
return `${name}===年龄保密`
}
}
getInfo('张三', 20)
(5)默认参数
function getInfo(name: string, age: number = 20): string {
if (age) {
return `${name}===${age}`
} else {
return `${name}===年龄保密`
}
}
console.log(getInfo('张三')) //张三===20
console.log(getInfo('张三', 30)) //张三===30
(6)剩余参数
function sum(...result: number[]): number {
var sum = 0
for (var i = 0; i < result.length; i++) {
sum += result[i]
}
return sum
}
console.log(sum(1, 2, 3, 4, 5))//15
(7)函数重载
es5中出现同名函数时下面的会覆盖上面的,es6中则会重载
function getInfo(name: string): string;
function getInfo(age: number): number;
function getInfo(str: any): any {
if (typeof str === 'string') {
return '姓名' + str
} else {
return '年龄' + str
}
}
console.log(getInfo('张三')) //姓名张三
console.log(getInfo(20)) //年龄20