ts函数

函数声明

function test() {}

匿名函数

var fun = function() {}

ts函数声明法

正确写法
function run():string{
	return 'hello'
}
错误写法
function run():string{
	return 911
}

ts匿名函数

var fun = function():number{
	return 911
}

ts中定义方法传参

function getInfo(name:string, age:number):string{
	return `${name}--${age}`
}

var getInfo = function (name:string, age:number):string{
	return `${name}--${age}`
}

函数没有返回值void

function run():void{}

方法的可选参数

es5方法的实参和形参可以不一样,但是ts中必须一样,如果不一样就需要配置可选参数。
问号(?)配置可选参数
注意可选参数必须配置到参数的最后面

function getInfo(name:string, age?:number):string{
	if(age){
		return `${name}--${age}`
	} else {
		return `${name}`
	}
}

默认参数(可选参数)。es5没法设置默认参数,es6和ts中可以设置默认参数

function getInfo(name:string, age:number=26):string{
	return `${name}--${age}`
}

剩余参数

三点运算符接受新参传过来的值

function sum(a:number, b:number, c:number, d:number):number{
	return a+b+c+d
}
sum(1, 2, 3, 4)

function sum(...result:number[]):number{
	for sum = 0
	for (var i = 0; i < result.length; i++) {
		sum += result[i]
	}
	return sum
}
sum(1, 2, 3, 4)

函数的重载

ts中的重载:通过为一个函数提供多个函数类型定义来实现多种功能的目的
es5中出现同名方法,下面的方法会替换上面的方法

fuction css(config: any):any{}
function css(config: any, value: any):void{}

ts中的重载

function getInfo5(name: string):string;
function getInfo5(age: number):number;
function getInfo5(str: any):any{
	if (typeof str === 'string') {
		return name
	} else {
		return str
	}
}
getInfo('Jodge')
getInfo(19)
function getInfo(name: string):string;
function getInfo(name: string, age: number):string;
function getInfo(name: any, age?:any):any{
	if (age) {
		return `${name}--${age}`
	} else {
		return name
	}
}
getInfo('alex') // 正确
getInfo(911) // 错误
getInfo('alex', 19) // 正确

箭头函数es6

剪头函数this指向上下文

setTimeout(function (){}, 1000)
setTimeout(() => {}, 1000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值