转自:http://www.hubwiz.com/


        在TypeScript中定义函数的语法为:


    function function_name(arg:number,arg1:number,....):return_type{

         code 函数要执行的代码;

         return data;

    }


  其中 function 为声明函数的关键字,functionname 为自定义函数的名字,arg为参数列表,_return_type为该函数的返回值类型,code为函数被调用时要执行的代码,使用return关键字返回数据,data为要返回的数据,要使用“{}”括起来。函数的调用就很简单了,如下代码:


    function add(x: number, y: number): number {  //定义返回值为number类型的函数

               return x+y;

    }

    

    add(5,6); //调用函数


    当然也可以没有返回值。



匿名函数


  匿名函数是没有名称只有主体的函数,不需要指定返回类型,它的返回值类型是从函数主体内的 return 语句推断的。如下代码:


    var myAdd = function(x:number, y:number) { //定义匿名函数

         return x+y;

     };


    myAdd(3,4); //调用匿名函数



可选与默认参数


        可选参数:在参数名后面,冒号前面添加一个问号,则表明该参数是可选的。如下代码:


    function buildName(firstName: string, lastName?: string) { //lastName为可选参数

         if (lastName)

             return firstName + " " + lastName;

         else

             return firstName;

   }

    var result1 = buildName("Bob");  //正确调用 Bob

    var result2 = buildName("Bob", "Adams"); //正确调用 Bob Adams


        默认参数:在参数名后直接给定一个值,如果这个值没有被传入,那么将会被赋值为默认值。如下代码:


    function buildName(firstName: string, lastName = "Smith") {

         return firstName + " " + lastName;

    }

 

    var result1 = buildName("Bob");  //没有传入第二个参数,则被赋值为默认的smith,结果为:Bob Smith

    var result2 = buildName("Bob", "Adams");  //结果为:Bob Adams


    注:可选参数和默认参数必须在参数列表的最后。