function add(x:number,y:number):number{
return x+y
}
let myAdd = function(x:number,y:number):number{
return x+y
}
let myAddFun:(name:string,age:number) => number = function(n:string,a:number):number{
return a
}
function buildName1(firstName:string,lastName = "world"){
return firstName+" "+lastName
}
buildName1("hello")
buildName1("hello","liaomei")
可选参数
function peopelName(firstName:string, ...restOfName:string[]){
return firstName + " " + restOfName.join("_")
}
let p1 = peopelName("i","o","y","h")
console.log(p1)
箭头函数和this关键字的使用
var people ={
name:['l','o','v','e'],
getName:function(){
return () =>{
var i = Math.floor(Math.random()*4)
return {
n:this.name[i]
}
}
}
}
var myName = people.getName();
alert("名字:"+ myName().n)
函数重载
function attr(name:string):string;
function attr(age:number):string;
function attr(nameorage:any):any{
if(nameorage && typeof nameorage === "string"){
alert("姓名")
}else{
alert("年龄")
}
}
attr("hello")
attr(10)