typeScript面试必备之-通识二:typeScript中的函数

1、函数的定义
2、可选参数
3、默认参数:es5里面没法设置默认参数,es6和ts中都可以设置默认参数
4、剩余参数
5、函数重载
6、箭头函数  es6 箭头函数里面的this指向上下文
复制代码

2.1:

   function demo():string{        
   return 'hello';        
   }    
   匿名函数 
   var fun= function ():string{ 
   return 'hello';  
   }
复制代码

2.2可选参数用‘?’

        function getInfo(name:string,age?:number):string{
                if(age){
                    return `${name} --- ${age}`;
                }else{
                    return `${name} ---年龄保密`;
                }
        }
        alert(getInfo('zhangsan'))
        alert(getInfo('zhangsan',123))
复制代码

注意!:可选参数必须配置到参数的最后面

2.3 默认参数 可选参数

   function getInfo(name:string,age:number=20):string{
                            if(age){
                                return `${name} --- ${age}`;
                            }else{
                                return `${name} ---年龄保密`;
                            }
                }

                alert( getInfo('张三'));
                alert( getInfo('张三',30));
复制代码

2.4、剩余参数需要使用es6的三点运算符

            function sum(...result:number[]):number{
                var sum=0;
                for(var i=0;i<result.length;i++){
                    sum+=result[i];  
                }
                return sum;
            }
            alert(sum(1,2,3,4,5,6)) ;
           或者是function sum(a:number,b:number,...result:number[]):number{}
复制代码

2.5、ts函数重载

java中方法的重载:重载指的是两个或者两个以上同名函数,但它们的参数不一样,这时会出现函数重载的情况。
typescript中的重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的
ts为了兼容es5 以及 es6 重载的写法和java中有区别。

                function getInfo(name:string):string;
                function getInfo(name:string,age:number):string;
                function getInfo(name:any,age?:any):any{
                    if(age){
                        return '我叫:'+name+'我的年龄是'+age;
                    }else{
                        return '我叫:'+name;
                    }
                }
                // alert(getInfo('zhangsan'));  /*正确*/
                // alert(getInfo(123));  错误
                // alert(getInfo('zhangsan',20));
复制代码

2.6、箭头函数 es6

()=>{
console.log(12)
}
复制代码

感谢: 参考学习:https://www.itying.com:
自己总结到有道云笔记里面有更加清楚的标注方便查阅:
* Typescript 介绍
http://note.youdao.com/noteshare?id=c3e0d5810580041ade028a345519ce96&sub=E882CE350AC94C5596B146908C406274 * typeScript中的数据类型
http://note.youdao.com/noteshare?id=a07dd9a55779068d9409b79014a9a409&sub=CE3DA74B1A27412792DF9BB8F74E8E24 * typeScript中的函数
http://note.youdao.com/noteshare?id=adc64e95404f3c382c7549f05841c7b2&sub=65D365DE900049A28DD4697B61A5544A * 对象+继承
http://note.youdao.com/noteshare?id=7f82be21375761c13ccad1981510a614&sub=7856743A59934A59A1AA608AA78497F0 * 类的定义、继承、类里面的修饰符 http://note.youdao.com/noteshare?id=a4420ac729d8cc7c1eb72fc47198f00b&sub=399974DBD9FA4EC2A99548D8837CB61F * 静态属性 静态方法 抽象类多态
http://note.youdao.com/noteshare?id=efad91320514e4f21e07ec77a9bcfd7c&sub=DC3868B8459940CA884DC5B80EE25443
* typeScript中的接口
http://note.youdao.com/noteshare?id=ae4c7f13bec8e35b3fda4e326d7e7055&sub=6001FADE75904080A15395886608D366 * 可索引接口(数组,对象)+类类型接口
http://note.youdao.com/noteshare?id=aebf26ab922044a69cae082866ce8d86&sub=F73FB04DD10C4BA796173FBE40280B21
* 接口的继承、接口的扩展
http://note.youdao.com/noteshare?id=93e1dff481b8e299ee9c925e8e3a8b4a&sub=3C96456BFAA34C28BA6BB4E0B0C1E77B * 泛类
http://note.youdao.com/noteshare?id=6d9e0ec4cdb17249bf1bb11fae2e44ec&sub=B0C47B2089AC42E48C2E1BAAAD3FE9EF * 泛型接口
http://note.youdao.com/noteshare?id=49af2ba1bd6173467e7c7b844def959b&sub=F16F0C2857E347C0B8FB69522D5DEFA2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值