《揭秘Angular 2》-Typescript 函数
Typescript再Javascript函数的基础上添加了很多额外的功能,使函数变得更加易用。
- 函数定义
//函数声明:
function maxA(x:number,y:number){
return x>y?x:y;
}
//函数表达式:
let maxB=function(x:number,ynumber){
return x>y?x:y;
}
- 可选参数
注:可选参数必须放在必选参数之后。
- 默认参数
function maxA(x:number,y=5):number{
return x>y?x:y
}
let r1=maxA(2);//运行正常
let r2=maxA(2,6);//运行正常
let r2=maxA(2,6,7)//运行错误
- 剩余参数
let result=x;
for(let i=0;i<restOfNumber.length;i++){
result+=restOfNumber[i];
}
return result;
}
let result=sum(1,2,3,4,5);
console.log(result);//输出:15
- 箭头函数
单行:
var sum2=(arg1,arg2)=>arg1+arg2;
多行:
var sum3=(arg1,arg2)=>{
return arg1+arg2
}
无参数:
var sum4=()=>{
}
一个参数:
var sum5=arg1=>{
console.log(arg1)
}
//箭头函数(箭头函数中的this始终跟着这个函数定义时的this的指向走)
var a={
aa:123,
b:()=>{
console.log(this)//指向window
return c={
cc:1234,
d:()=>{
console.log(this)//指向window
}
};
}
};
a.b().d();
//普通函数 谁调用就指向谁(因为是a调用的b,所以b指向a,c调用的是d,所以d指向c)
var a={
aa:123,
b:function(){
console.log(this)//指向a
return c={
cc:1234,
d:function(){
console.log(this)//指向c
}
};
}
};
a.b().d();
注:箭头函数,可以消除了this关键字
在传统的ES5程序中,this会是一个比较大的问题,但是在typescript里箭头函数很好的解决了这个问题,它在创建的时候就绑定了this。
在传统的ES5程序中,this会是一个比较大的问题,但是在typescript里箭头函数很好的解决了这个问题,它在创建的时候就绑定了this。
也不啰嗦了,就写这么多了,see you.....