Typescript的函数的使用

命名函数
[javascript]  view plain  copy
  1. function add(x:number,y:number):string{  
  2.     return 'hello typescript';  
  3. }  

匿名函数
[javascript]  view plain  copy
  1. var myAdd=function(x:number,y:number):string{  
  2.     return 'hello typescript';  
  3. }  

指定函数的参数意义
[javascript]  view plain  copy
  1. var myDoc:(name:string,age:number)=>number=function(n:string,a:number):number{  
  2.     return a;  
  3. }  

函数的可选参数
[javascript]  view plain  copy
  1. function buildName(firstName:string,lastName?:string){  
  2.     if(lastName){  
  3.         return firstName+" "+lastName;  
  4.     }else{  
  5.         return firstName;  
  6.     }  
  7. }  
  8. var result1=buildName("jason","john");  
  9. var result2=buildName("jason");  

函数的默认参数
[javascript]  view plain  copy
  1. function buildName(firstName:string,lastName="john"){  
  2.     return firstName+" "+lastName;  
  3. }  
  4. var result1=buildName("jason");  
  5. var result2=buildName("jason","mike");  

函数的可变参数
[javascript]  view plain  copy
  1. function peopleName(firstName:string,...resetName:string[]){  
  2.     return firstName+" "+resetName.join("-");  
  3. }  
  4. var result=peopleName("jason","blue","blond","issie","danny");  
  5. document.getElementById("pid").innerHTML=result;  

lambadsthis关键字的使用
[javascript]  view plain  copy
  1. var people={  
  2.     name:["jason","issie","danny","blue"],  
  3.     getName:function(){  
  4.         return ()=>{  
  5.             var i=Math.floor(Math.random()*4);  
  6.             return {  
  7.                 n:this.name[i]  
  8.             }  
  9.         }  
  10.     }  
  11. }  
  12. var myName=people.getName();  
  13. alert("名字:"+myName().n);  
函数的重载
[javascript]  view plain  copy
  1. function attr(name:string):string;  
  2. function attr(age:number):number;  
  3.   
  4. function attr(nameorage:any):any{  
  5.     if(nameorage && typeof nameorage==="string"){  
  6.         alert("姓名");  
  7.     }else{  
  8.         alert("年龄");  
  9.     }  
  10. }  
  11. //attr("jason");  
  12. attr(10);  

猜你喜欢

转载自blog.csdn.net/frank_good/article/details/80315153