命名函数
- function add(x:number,y:number):string{
- return 'hello typescript';
- }
匿名函数
- var myAdd=function(x:number,y:number):string{
- return 'hello typescript';
- }
指定函数的参数意义
- var myDoc:(name:string,age:number)=>number=function(n:string,a:number):number{
- return a;
- }
函数的可选参数
- function buildName(firstName:string,lastName?:string){
- if(lastName){
- return firstName+" "+lastName;
- }else{
- return firstName;
- }
- }
- var result1=buildName("jason","john");
- var result2=buildName("jason");
函数的默认参数
- function buildName(firstName:string,lastName="john"){
- return firstName+" "+lastName;
- }
- var result1=buildName("jason");
- var result2=buildName("jason","mike");
函数的可变参数
- function peopleName(firstName:string,...resetName:string[]){
- return firstName+" "+resetName.join("-");
- }
- var result=peopleName("jason","blue","blond","issie","danny");
- document.getElementById("pid").innerHTML=result;
lambads和this关键字的使用
- var people={
- name:["jason","issie","danny","blue"],
- 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):number;
- function attr(nameorage:any):any{
- if(nameorage && typeof nameorage==="string"){
- alert("姓名");
- }else{
- alert("年龄");
- }
- }
- //attr("jason");
- attr(10);